PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزشی از کارت گرافیک کار بکشید



Admin
6th November 2009, 10:26 PM
از کارت گرافیک کار بکشید

http://www.mobin-group.com/image/reg/images/53241d7387489037f6a15bb37b7efb34f29b.jpg
شرکت‌های تولیدکننده سخت‌افزار در سراسر جهان بسیار زیاد هستند و هر شرکتی پشتیبانی خاصی از سخت‌افزار تولیدی خود می‌کند. این شرکت‌ها با در اختیار کاربر قرار دادن نرم‌افزارهای مختلفی، می‌کوشند تا کاربر از تمام قدرت سخت‌افزار بهره بگیرد. از جمله سخت‌افزارهایی که قدرت پردازش بسیار بالایی دارند و اغلب در سیستم‌ها بیکار هستند، کارت‌های گرافیک‌اند. در سال‌های اخیر برای بر دوش کشیدن نسل‌های جدید بازی‌ها، کارت‌های گرافیک بسیار پیشرفت کردند. به موازات زمانی که Athlon X۲ ۴۸۰۰ (پردازنده ۲هسته‌ای) تولید شد، GeForce ۸۵۰۰ (کارت‌گرافیک ۱۶هسته‌ای) در بازار بود و سه سال بعد همراه با Core i۷ (پردازنده ۴هسته‌ای)، کارت گرافیک GeForce GTX ۲۸۵ (کارت گرافیک ۲۴۰هسته‌ای) نیز در بازار بود.
امروزه این پتانسیل بالا در کارت‌های گرافیکی باعث شده که تولیدکنندگان با عرضه میان‌افزارهایی، این محصولات را به عرصه‌های دیگر نیز وارد کنند. از جمله این میان‌افزارها CUDA Driver است که مخصوص کارت‌های گرافیک انویدیا است و کارت گرافیک را تبدیل به پردازنده‌ای همه‌منظوره می‌کند. پس از نصب این میان‌افزار، می‌توانید از مجموعه نرم‌افزارهایی که روی کارت گرافیک اجرا می‌شوند، بهره ببرید. برای نمونه نرم‌افزارهایی طراحی شده‌اند که عملیات کدگذاری۱ و کدبرداری۲ ویدئو را روی کارت‌های گرافیک انجام می‌دهند که باعث صرفه‌جویی در وقت و هزینه می‌شود و یا نرم‌افزارهایی برای پردازش بی‌درنگ۳ ویدئو روی کارت‌های گرافیک وجود دارند. در ادامه این مقاله قصد داریم ابزار مفیدی را معرفی کنیم، که از قدرت کارت‌های گرافیکی رایج انویدیا، از طریق نرم‌افزار (به ادعای سازندگانش زبان برنامه‌نویسی) متلب۴ استفاده می‌کند. این کارت‌ها عبارتند از جی‌فورس سری ۸ به بالا، Quadro و Tesla.


● معرفی
GPUmat جعبه‌ابزاری۵ است که برای سریع‌تر کردن محاسبات در نرم‌افزار متلب (که برای محیط‌های دانشگاهی نامی آشناست) طراحی شده است. به‌نحوی که محاسبات را با پردازنده کارت‌های گرافیک۴ انجام می‌دهد. اگر از کاربران متلب هستید که وقت زیادی را با آن صرف می‌کنید، با استفاده از این جعبه‌ابزارها می‌توانید کارهای خود را سریع‌تر انجام دهید. اگرچه خود متلب اغلب سریع است ولی اگر داده‌های شما بسیار زیاد باشند، نیاز به‌این جعبه‌ابزار را احساس خواهید کرد. این جعبه‌ابزار رایگان، برای مراکز علمی و تحقیقاتی بسیار مفید است.


● طریقه نصب
ابتدا از اینکه کارت‌گرافیک ذکر شده در بالا را دارید، اطمینان حاصل کنید و توجه کنید که به نسخه متلب ۲۰۰۷ یا جدیدتر از آن نیاز دارید. سپس به سایت زیر بروید و پس از انتخاب سیستم عامل CUDA ۲.۳، آن را دانلود کنید که از سه نرم‌افزار CUDA Driver و CUDA Toolkit و CUDA SDK تشکیل می‌شود و آنها را به همین ترتیب ذکر شده نصب کنید:
http://www.nvidia. com/object/ cuda_get. html
سپس به سایت زیر بروید وآخرین نسخه جعبه‌ابزار GPUmat را برای سیستم عامل خود دریافت کنید:
htpp://www.gp- you.org
اکنون فایل را از حالت آرشیو خارج کرده و پوشه GPUmat را باز کنید و فایل GPUstart.m را درون این پوشه پیدا و آدرس پوشه آن را کپی کنید. نرم‌افزار متلب را باز کنید و از نوار ابزار File» Set Path… را انتخاب کنید و آدرسی که کپی کرده‌اید را به مجموعه آدرس‌های موجود اضافه کنید. در پایان نیز به‌خط فرمان متلب بروید و دستور GPUstart را اجرا کنید. با اجرای این دستور GPUmat به مجموعه جعبه‌ابزارهای متلب اضافه می‌شود.


● طریقه استفاده از جعبه‌ابزار
برای استفاده از این جعبه ‌ابزار تنها باید متغیری از نوع GPUsingle تعریف کنید که این متغیر روی کارت گرافیکی تعریف می‌شود. کاری که این جعبه ‌ابزار انجام می‌دهد این است که اکثر عملگر‌ها و توابعی که جزو استاندارهای متلب هستند را برای GPUsingle تعریف می‌کند و شما تنها کاری که انجام می‌دهید این است که این توابع را صدا بزنید. به‌طور مثال، چهار دستور زیر دو ماتریس Ah و Bh را از حافظه اصلی به حافظه کارت‌گرافیک انتقال می‌دهد و ضرب ماتریسی را روی آنها انجام می‌دهد و در پایان حاصل را به حافظه اصلی برمی‌گرداند و در Ch ذخیره کنید:
Ad = GPUsingle(Ah) ;
Bd = GPUsingle(Bh) ;
Cd = Bd*Ad;
Ch = single(Cd);
تابع GPUsingle() متغیری را از حافظه اصلی به حافظه کارت گرافیک می‌برد. تابع single() عکس کار فوق را انجام می‌دهد. ورودی این دو تابع می‌تواند در هر ابعادی باشد و خروجی آن معادل اندازه ورودی است. بین این دو دستور می‌توانید عملیات و محاسبات را انجام دهید که اگر داده‌ها از نوع GPUsingle باشند، عملیات به کارت‌ گرافیک فرستاده می‌شود.


● توابع و عملگرهای تعریف شده
در حال حاضر ۵۰تابع و ۱۴عملگر برای GPUsingle تعریف شده‌ است که از جمله توابع fft، sin، sum، exp و log و عملگرها جمع، تفریق، ضرب، ضرب نقطه‌ای و عملگرهای منطقی را می‌توان نام برد. نام توابع طوری انتخاب شده که درست همان کاری را انجام می‌دهند که تابع همنام در متلب انجام می‌دهند. برای اطلاع کامل از لیست توابع و عملگرها و برخی تابع‌های حرفه‌ای دیگر به سایت GPUmat که در بالا ذکر شد رجوع کنید.
در انتها باید یادآور شویم که GPUsingle داده‌ای از نوع ممیزشناور با دقت‌ ساده است و این به علت محدودیت فعلی پردازنده کارت‌های گرافیک است و اگر بخواهید عملیات ممیزشناور با دقت ‌مضاعف انجام دهید، تبدیل نوع داده به‌صورت ضمنی صورت می‌گیرد و بخشی از دقت عدد از دست می‌رود.

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد