یکشنبه, ۲۳ اردیبهشت, ۱۴۰۳ / 12 May, 2024
از کارت گرافیک کار بکشید
شرکتهای تولیدکننده سختافزار در سراسر جهان بسیار زیاد هستند و هر شرکتی پشتیبانی خاصی از سختافزار تولیدی خود میکند. این شرکتها با در اختیار کاربر قرار دادن نرمافزارهای مختلفی، میکوشند تا کاربر از تمام قدرت سختافزار بهره بگیرد. از جمله سختافزارهایی که قدرت پردازش بسیار بالایی دارند و اغلب در سیستمها بیکار هستند، کارتهای گرافیکاند. در سالهای اخیر برای بر دوش کشیدن نسلهای جدید بازیها، کارتهای گرافیک بسیار پیشرفت کردند. به موازات زمانی که 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 دادهای از نوع ممیزشناور با دقت ساده است و این به علت محدودیت فعلی پردازنده کارتهای گرافیک است و اگر بخواهید عملیات ممیزشناور با دقت مضاعف انجام دهید، تبدیل نوع داده بهصورت ضمنی صورت میگیرد و بخشی از دقت عدد از دست میرود.
پینوشت
۱. Encoding
۲. Decoding
۳. Real-time
۴. MATLAB
۵. Toolbox
۶. GPU
احمد لشگر
نمایندگی زیمنس ایران فروش PLC S71200/300/400/1500 | درایو …
دریافت خدمات پرستاری در منزل
پیچ و مهره پارس سهند
تعمیر جک پارکینگ
خرید بلیط هواپیما
مجلس شورای اسلامی ایران مجلس مجلس دوازدهم انتخابات انتخابات مجلس انتخابات مجلس دوازدهم انتخابات مجلس شورای اسلامی دولت سیزدهم ستاد انتخابات کشور رهبر انقلاب رئیس جمهور
تهران هواشناسی شهرداری تهران زلزله فضای مجازی سیل سازمان هواشناسی وزارت بهداشت آتش سوزی پلیس قتل بارش باران
قیمت دلار قیمت خودرو قیمت طلا خودرو گاز حقوق بازنشستگان بازار خودرو بورس بانک مرکزی نمایشگاه نفت ایران خودرو مالیات
نمایشگاه کتاب کتاب نمایشگاه کتاب تهران رضا عطاران کیانوش عیاری تلویزیون سینمای ایران نمایشگاه بینالمللی کتاب تهران دفاع مقدس سینما سریال کتابخانه
فناوری
رژیم صهیونیستی اسرائیل غزه فلسطین جنگ غزه آمریکا روسیه حماس سازمان ملل افغانستان رفح اوکراین
پرسپولیس فوتبال استقلال لیگ برتر هوادار رئال مادرید باشگاه پرسپولیس سپاهان لیگ برتر فوتبال ایران لیگ برتر ایران بازی باشگاه استقلال
هوش مصنوعی همراه اول خورشید شفق قطبی ناسا ایالات متحده ایلان ماسک اپل نوآوری گوگل عیسی زارع پور وزیر ارتباطات
سرطان درمان و آموزش پزشکی تغذیه آلزایمر رژیم غذایی فشار خون قهوه زیبایی بارداری توت فرنگی