| محاسبه GPGPU چیست و مواظب باشید باد کلاهتان را نبرد |
| Written by Abbas Vahedi | |||
| Thursday, 14 May 2009 21:08 | |||
|
«برنامه جامع محاسبه با واحد های پردازش گرافیکی» یا GPGPU* چیزی است که سعی دارد *GPU های تند و تیز بازی ها را با استفاده از قابلیت های جدید ویندوز 7 و مکینتاش لئوپارد اسنو، به مسیر اصلی پردازش های کامپیوتری وارد کند.
یک حرف کم و زیاد چه فرقی دارد؟
برای خواندن داستان این دو دوست به ادامه مطلب بروید. در گذشته GPU عموما تنها یک کار را انجام می داد، سرعت بخشیدن به پردازش اطلاعات تصویری که شما نتیجه آن را بر روی صفحه نمایشتان می بیند. پاتریشیا هارل، مدیر واحد پردازش همزمان AMD می گوید GPUها در حقیقت سخت افزارهایی با طراحی ویژه هستند که وظیفه شتاب دهی مراحل مهندسی کانال های اطلاعاتی را بر عهده دارند. یعنی پردازش تطبیق اطلاعات تصویری و یا مدل های کامپیوتری و تبدیل آنها به پیکسل های روی صفحه نمایش از این طریق صورت می گیرد.
GPUها داستانی بس طولانی دارند و اگر بخواهید به صفحه اول این داستان برگردید، به کمودور آمیگا می رسید. اما بگذارید به همین زمان حال خودمان بچسبیم و داستان را دنبال کنیم. تازه ده سال پیش بود که Nvidia اعلام کرد که شروع به افزایش هسته های GPU کرده است تا حجم کار را بین این هسته های چندگانه تقسیم کند. و حال می بینید که محاسبات گرافیکی به شکل مناسبی به صورت موازی مدیریت می شوند. (هنگامی که شما از پشت مخفیگاه تان در Team Fortress 2 به کله دشمن شلیک می کنید، به حجم بالایی از محاسبات گرافیکی برای نشان دادن این اتفاق بر روی صفحه مانیتورتان نیاز است) مثالی که استفورد راشل از Nvidia برای درک بهتر تفاوت CPU و GPU مطرح می کند بدین صورت است: "اگر شما به دنبال کلمه ای در یک کتاب می گردید، و این کار را بر عهده یک CPU بگذارید، این ابزار برای پیدا کردن این کلمه کتاب را از صفحه یک تا انتها می خواند؛ زیرا CPU یک پردازنده سریال یا ردیفی است. این ممکن است سریع باشد، اما به هرحال برای انجام چنین کاری به کمی وقت نیاز دارد، چون کارها را به ترتیب انجام می دهد. یک GPU- که پردازنده موازی یا پارالل است- کتاب را به هزار بخش تقسیم می کند و همه آن را بطور همزمان می خواند. حتی اگر هر کلمه را کندتر هم بخواند؛ اما کل کتاب در زمان کمتری خوانده می شود، چون همه کلمه ها هم زمان خوانده می شوند.
تمام هسته های GPU(رادئون 4870 دارای 800 پردازنده مستقل است)، آن را در پردازش چندین باره مجموعه ای از داده ها به خوبی توانمند می سازند. توان یک GPU به طور معمول با flops یا تعداد عملیات ریاضی انجام شده روی ممیزهای شناور در ثانیه بیان می شود. قدرت GPU های امروزی به شکل گیگا فلاپ و ترا فلاپ خوانده می شود. البته در انجام کارهای عادی CPU بهتر عمل می کند. همانگونه که هارل از AMD می گوید: "برنامه نویسی عادی، دستیابی تصادفی به حافظه، اجرای دستورات مرحله ای و کارهای روزمره را بهتر است به CPU بسپارید." کریج بارت، رئیس قبلی اینتل نیز عقیده دارد هسته های CPU هم در حال جوانه زدن هستند تا این ابزار بتواند از عهده پردازش های همزمان همانند GPU برآید. چیزی که در خصوص پردازش موازی (استفاده از صدها هسته برای خرد کردن وظایف و انجام یکباره آنها) باید گفته شود این است که همه نرم افزارها برای استفاده از این امتیاز باید دوباره برنامه نویسی شوند. شاید سختی انجام چنین پروسه ای باعث شده است که تعداد مهندسین نرم افزار شرکت اینتل بیشتر از مهندسین سخت افزار آن است. بنابراین حتی اگر چنین سخت افزارهایی هم تولید شود، شما هنوز به نرم افزارهای ویژه ای برای کار با آنها نیاز دارید و این خود یک نوع برنامه نویسی کاملا متفاوت است. که این، مارا به OpenCL (زبان محاسباتی باز) و در رتبه بعدی به CUDA می رساند. این ها چهارچوبی هستند که راه استفاده از کارت های گرافیک را برای محاسباتی که ربطی به نمایش صحنه های جنگ شما با زامبی ها در Left 4 Dead ندارند، هموار می سازد. OpenCL، یک استاندارد باز برای برنامه نویسی موازی (parallel) در سیستم های ناهمگن است. این استاندارد توسط گروهی از اسطوره ها (AMD، اپل، IBM، اینتل، سامسونگ و و بسیاری شرکت های دیگر) مورد تایید قرار گرفته است. بطور نیمه رسمی، این پلتفرم یک استاندارد قطعی برنامه نویسی موازی برای سخت افزارهای گوناگون است، که همه می توانند به رایگان از آن استفاده کنند. CUDA هم ساختار معماری ویژه Nvidia است که برای برنامه نویسی موازی کارت های گرافیکش مورد استفاده قرار می گیرد. OpenCL بخش بزرگی از لئوپارد مک است. ویندوز 7 هم از برخی شتاب دهنده های کارت های گرافیک استفاده می کند. ( باید منتظر پیشرفت چشم گیر DirectX 11 در این خصوص باشیم) بنابراین استفاده از سرعت کارت های گرافیک بخش بزرگی از آینده سیستم عامل ها خواهد بود.
خب، این به چه درد من می خورد؟
البته اگر کار شما با کامپیوتر فقط تویيت کردن و خواندن نامه هایتان است، به زندگی تان برسید و زیاد ذهن تان را مشغول این بحث ها نکنید :) نظرات (34)
![]()
میشه گفت جزو معدود زمانهایی استکه چنین مطالبی رو در نارنجی می بینم ...
البته با پردازش های GPU GPU چند وقتی هست که ابزار هایی ارائه شده ... مثلا نرم افزار Badaboom که برای کانورت ویدئو های HD برای پلتفرم هایی مانند Iphone, ipod touch و ... ارائه شده که میتونه بدون استفاده از سی پی یو به کاورت ویدئو ها بپردازه ! برای مثال یک فایل 1.5 گیگابایتی رو که با سی پی یو در 1 ساعت کانورت میشه با این نرم افزار و استفاده از GPU میشه در مدت کمتر از 15 دقیقه اون رو کانورت کرد ...
matlabe besiar aliee bod
man bishtar khastare in tor mataleb hastam omidvaram narenji in khastam ro baravorde kone bazam mer3000000
سلام
بی زحمت درباره نسل جدید سی پی یو ها که در واقع هم جی پی یو هست و هم سی پی یو مطالبی بنویسید. با تشکر
Abbas Vahedi ، ممنون مقاله خیلی مفید و جالبی بود
در مورد چیپ PhysX که روی کارت های Nvidia سری 8 به بالا قرار میگیره هم اگر مقاله مفیدی داشتید ارائه بدید جزو شاهکارهای Nvidia هست
سلام.
خيلي كارتون درسته من مشابه اين مطلب را در جايي خوانده بودم ولي اين هم بسيار عالي بود دست شما درد نكنه. من در اينترنت زياد ميچرخم و مطالب زيادي رو پيدا ميكنم . چطور ميتوانم اين مطالب رو براي شما ارسال كنم.
دوست عزیز حسين.
شما مطالبي را که به نظرتان جالب مي آید مي توانید براي نارنجی ايميل کنید. اگر امکان داشته باشد از آنها استفاده می کنيم.
دوست عزيز هادی
در واقع نسل جدید سي پی يو ها هم به دنبال چند هسته ای شدن و تقسيم وظایفند. اما فکر کنم جی پي یو نباشند.
خیلی خوب بود لطفا یک پست هم راجع به این نوت بوک هایی که عدد کارت گرافیکش باینری نیست و اصطلاحا می گن از رم می خونه بگذارید
wow!
این عالیه این ینی این که با 3d max رندر میگیری ، آنا رندر میشه مثل بازیها !
این جی پی یو گه می گید! یعننننننننننیییییییی چه!!!!!!!!!!!!
سلام و درود بر نارنجی
من از طریق یکی از وبلاگها اتفاقی با نارنجی آشنا شدم مطالبتان علمی و آموزنده است شما در پارس بوک لینک شدید اگه ما رو قابل دونستید لینک پارس بوک رو به بخش پیوندها اضافه کنید ممنون و متشکر
جالب بود
tnX فنی تر بنویسید تا اخبار ساده ملت بیشتر لذت می برن!!!
http://grippinchaos.wordpress.com/2009/02/11/تحول-در-دنیای-شبیه-سازی-های-علمی/
آقا منم چیزی نفهمیدم:D
ولی شاید منظور این باشه که CPU رفت GPU اومد اینه؟؟؟؟؟؟؟؟؟؟؟
shahin
خیر دوست عزیز GPU یا همان Graphics Processing Unit پردازنده ای هست که روی کارت گرافیک شما قرار داره . و پردازش های مربوط به گرافیک و انجام میده/ با پیشرفت GPU ها دیگه کارت گرافیک شما نیاز کمتری به CPU در پردازش ها داره و GPU پردازش های گرافیکی و خیلی قویتر و سریعتر انجام میده GPU ریطی به CPU نداره. قرار هم نیست جای اونو بگیره و روی کارت گرافیک شما قرار داره البته خود CPU هم یک واحد مخصوص پردازش گرافیک داره که اون به اندازه GPU قدرت نداره و وظایف متفاوتی داره و وقتی شما یک GPU کارامد دارید نیازی به کار کشیدن از اون نیست امروزه GPU ها به اندازه ای قوی شدن که نرم افزار ها و سیستم عامل های جدید بیشتر پردازش ها و محاسبات گرافیکی خودشونو توسط GPU انجام میدن . مثل Aero در Seven یا Vista رندر یک ویدو توسط GPU چندین برابر سریعتر از CPU هست به همین خاطر نرم افزار های جدید Multimedia به صورت مستقیم از GPU کمک میگیرن برای مثال اگر وارد سایت nvidia.com بشید میتوانید از قسمت Technology تعدادی از تکنولوژی هایی که با استفاده از قدرت GPU کمبود های گذشته ای که بر اساس استفاده از CPU بود و جبران کردند ببینید
خیلی جالب بود.
امیدوارم مقالاتی به این صورت رو بیشتر توی نارنجی ببینیم. خیلی ممنون :)
amir
دوست عزیز OpenCL یا همان Open Computing Language یک تکنولوژی جدید هست و اشتباه تایپی نبوده یک زبان کار با گرافیک جدید و پیشرفته که Mac Leopard هم از اون استفاده زیادی میکنه و در DirectX 11 هم قرار هست از قدرت اون استفاده بشه تکنولوژی OpenCL توسط Apple ایجاد شده و در حال حاضر توسط ATI , Nvidia و Intel در حال توسعه هست اطلاعات بیشتر : http://nvidia.com/object/cuda_opencl.html ما تکنولوژی های زیادی با این شباهت اسمی داریم که از اونجایی که OpenGL و شما با اون آشنا هستید فکر کردید اشتباه تایپی بوده OpenGL OpenCL OpenAL OpenML OpenSL و .. :D
@عباس:
اینتل و آ م دی هر دو بر روی تکنولوژی کار میکنن که ترکیبی از سی پی یو و جی پی یو هست. مال اینتل اسمش لارابی هست: http://en.wikipedia.org/wiki/Larrabee_(GPU) و همونطور که در مقاله اشاره شده یک gpgpu هست.
با سلام
متاسفانه هنوز کارت گرافیکی نیومده که بازی crisis رو 60 فریم اجرا کنه تو high detail پس تو گراف هموز ضعف داریم
مطلب خیلی مفید بود. مخصوصن که با مثال گفتین. من گرافیک 4850 دارم. مطمئنم از سی پی یو ام که e8400 intel هستش باید بهتر کار کنه. البته اینجوری که من فهمیدم!
سلام
مطلب شما در این مورد تقریبا باعث شد که در مورد مشکلم بیشتر بدونم .. فتوشاپم سی اس فور هست و البته 64 بیت .. وفتی با فتوشاپ کار می کنم بعد از مدتی ارور میده و هنگ می کنه ... بعد یه پیغام میده که جی پی یو کارت گرافیک مشکل داره و با شرکت سازنده تماس بگیرید... کارت گرافیک جی فورس 7950 با چیپست ان وی دی یا و سازندش هم لیدتک هست ... اگه بتونین راهنماییم کنیم خوشحال و ممنون میشم..
ببخشید که این حرف رو می زنم ولی یا قسمتی از متن رو اشتباه ترجمه کردین یا از خودتون در اوردین
در قسمت cpu , gpu که گفته بدین مثل یک کتاب در نظر بگیرین مثالتون هیچ ربطی نداشت چون خوندن کتاب از اول تااخر یا تقسیم به چند صفحه بسته به نوع تعریف برنامه نویس داره چه نرم افزاری و چه سخت افزاری ولی باز هم میشه کاری کرد که cpu اینطور عمل کنه مثل cpu های چند هسته ای الان بازم ممنون نظر بدهید
|
Firefox مرورگر برتر برای مرور صفحات وب در اینترنت است. اگر هنوز به فکر استفاده از این مرورگر نیفتاده اید اکنون زمان مناسبی است ، فایر فاکس را نصب کنید و از کاوش در وب لذت ببرید !
Gadget به وسایل کوچک مکانیکی و یا الکترونیکی گفته میشود که اغلب اندازه ای کوچک دارند و دارای کاربرد زیاد و خاص در زندگی هستند.





با تشکر.