یکی از مهمترین ویژگی های پنهاندر به‌روزرسانی اخیر ویندوز 10، این امکان وجود دارد که بررسی کنید کدام برنامه‌ها از واحد پردازش گرافیکی (GPU) شما استفاده می‌کنند. اگر تا به حال Task Manager را باز کرده باشید، احتمالاً به میزان استفاده از CPU خود نگاه کرده اید تا ببینید کدام برنامه ها بیشترین نیاز به CPU را دارند. آخرین به‌روزرسانی‌ها ویژگی مشابهی را اضافه کرده‌اند، اما برای پردازنده‌های گرافیکی GPU. این به شما کمک می کند تا بفهمید چقدر شدید هستید نرم افزارو بدون دانلود نرم افزار شخص ثالث روی پردازنده گرافیکی خود بازی کنید. ویژگی جالب دیگری وجود دارد که به تخلیه CPU شما به GPU کمک می کند. توصیه می کنم نحوه انتخاب را بخوانید.

چرا در Task Manager یک GPU ندارم؟

متأسفانه همه کارت‌های گرافیکی نمی‌توانند آمار مورد نیاز ویندوز برای خواندن GPU را ارائه دهند. برای اطمینان، می توانید به سرعت از ابزار تشخیصی DirectX برای آزمایش این فناوری استفاده کنید.

  1. کلیک " شروع کنید"و در جستجو بنویسید dxdiagبرای اجرای DirectX Diagnostic Tool.
  2. برو به برگه " صفحه نمایش،درست در ستون رانندگان"شما باید داشته مدل WDDMنسخه بالاتر از 2.0 برای استفاده از نمودارهای GPU در مدیر وظیفه.

Graph GPU را در Task Manager فعال کنید

برای مشاهده میزان استفاده از GPU برای هر برنامه، باید Task Manager را باز کنید.

  • دکمه ترکیبی را فشار دهید Ctrl + Shift + Escبرای باز کردن Task Manager.
  • کلیک کلیک راستدر قسمت خالی روی Task Manager کلیک کنید " نام"و از منوی کشویی چک کنید پردازنده گرافیکیهمچنین می توانید توجه داشته باشید هسته GPUتا ببینید کدام برنامه ها از آن استفاده می کنند.
  • اکنون در Task Manager نمودار GPU و هسته GPU در سمت راست قابل مشاهده است.


عملکرد کلی GPU را مشاهده کنید

شما می توانید استفاده کلی از GPU را برای نظارت و تجزیه و تحلیل تحت بارهای سنگین ردیابی کنید. در این مورد، می توانید هر آنچه را که نیاز دارید در " کارایی"با انتخاب پردازنده گرافیکی


هر عنصر GPU به نمودارهای جداگانه تقسیم می شود تا به شما بینش بیشتری در مورد نحوه استفاده از GPU شما بدهد. اگر می خواهید نمودارهای نمایش داده شده را تغییر دهید، می توانید روی فلش کوچک کنار عنوان هر کار کلیک کنید. این صفحه همچنین نسخه و تاریخ درایور شما را نشان می دهد که جایگزین خوبی برای استفاده از DXDiag یا Device Manager است.


توسعه دهنده باید یاد بگیرد که چگونه از واحد پردازش گرافیکی دستگاه (GPU) به طور موثر استفاده کند تا برنامه کند نشود و کارهای غیر ضروری انجام ندهد.

تنظیمات رندر GPU را سفارشی کنید

اگر برنامه شما کند است، برخی یا همه فریم‌های به‌روزرسانی صفحه بیش از 16 میلی ثانیه طول می‌کشد تا به‌روزرسانی شوند. برای مشاهده بصری به‌روزرسانی‌های فریم روی صفحه، می‌توانید گزینه خاصی را روی دستگاه فعال کنید (Profile GPU Rendering).

شما می توانید به سرعت مشاهده کنید که چقدر طول می کشد تا فریم ها ارائه شوند. اجازه دهید به شما یادآوری کنم که باید در 16 میلی ثانیه نگه دارید.

این گزینه در دستگاه هایی که با اندروید 4.1 شروع می شوند در دسترس است. حالت برنامه نویس باید در دستگاه فعال باشد. در دستگاه های دارای نسخه 4.2 و بالاتر، حالت به طور پیش فرض پنهان است. برای فعال کردن به تنظیمات | درباره تلفنو هفت بار روی خط کلیک کنید شماره ساخت.

پس از فعال سازی به گزینه های توسعه دهندهو نکته را پیدا کنید تنظیمات رندر GPU را سفارشی کنید(پردازش GPU نمایه)، که باید فعال شود. در پنجره پاپ آپ، یک گزینه را انتخاب کنید روی صفحه در ستون ها(روی صفحه به صورت نوار). در این حالت نمودار روی برنامه در حال اجرا نمایش داده می شود.

شما می توانید نه تنها برنامه خود، بلکه دیگران را نیز آزمایش کنید. هر برنامه ای را راه اندازی کنید و کار با آن را شروع کنید. در حین کار، یک نمودار به روز شده در پایین صفحه مشاهده خواهید کرد. محور افقی نشان دهنده زمان سپری شده است. محور عمودی زمان هر فریم را بر حسب میلی ثانیه نشان می دهد. هنگام تعامل با برنامه، نوارهای عمودی بر روی صفحه نمایش کشیده می شوند که از چپ به راست ظاهر می شوند و عملکرد فریم را در طول زمان نشان می دهند. هر ستون نشان دهنده یک قاب برای ترسیم صفحه است. هر چه ارتفاع میله بیشتر باشد، زمان بیشتری برای رندر گرفتن طول می کشد. خط سبز نازک یک راهنما است و مربوط به 16 میلی ثانیه در هر فریم است. بنابراین، باید تلاش کنید تا هنگام مطالعه برنامه خود، نمودار از این خط خارج نشود.

یک نسخه بزرگ شده از نمودار را در نظر بگیرید.

خط سبز 16 میلی ثانیه است. برای حفظ سرعت 60 فریم در ثانیه، هر نوار از نمودار باید زیر این خط رسم شود. در برخی موارد، نوار بیش از حد بزرگ خواهد شد و بسیار بالاتر از خط سبز خواهد بود. یعنی برنامه متوقف شده است. هر نوار دارای رنگ های آبی، بنفش (آب نبات چوبی و بالاتر)، قرمز و نارنجی است.

رنگ آبی مسئول زمان مورد استفاده برای ایجاد و به روز رسانی است چشم انداز.

قسمت بنفش نشان دهنده زمان صرف شده برای انتقال منابع رندر استریم است.

رنگ قرمز نشان دهنده زمان رندر است.

رنگ نارنجی نشان می دهد که پردازنده چقدر طول کشیده تا GPU کار خود را به پایان برساند. منشا مشکلات در مقادیر زیاد است.

تکنیک های خاصی برای کاهش بار روی GPU وجود دارد.

اشکال زدایی اضافه برداشت GPU

تنظیم دیگری به شما امکان می دهد بدانید که هر چند وقت یکبار همان ناحیه از صفحه نمایش دوباره ترسیم می شود (یعنی کار اضافی انجام می شود). دوباره می رویم به گزینه های توسعه دهندهو نکته را پیدا کنید اشکال زدایی اضافه برداشت GPU(Debug GPU Overdraw) که باید فعال شود. در پنجره پاپ آپ، یک گزینه را انتخاب کنید نمایش مناطق همپوشانی(نمایش مناطق اضافه برداشت). نترس! برخی از موارد روی صفحه تغییر رنگ می دهند.

به هر برنامه ای برگردید و عملکرد آن را تماشا کنید. رنگ مناطق مشکل برنامه شما را به شما می گوید.

اگر رنگ در برنامه تغییر نکرده باشد، پس همه چیز خوب است. بدون پوشش یک رنگ روی دیگری.

رنگ آبی نشان می دهد که یک لایه در بالای لایه پایین کشیده شده است. خوب

رنگ سبز - دو بار دوباره ترسیم می شود. باید به فکر بهینه سازی باشیم.

رنگ صورتی - سه بار دوباره ترسیم شده است. همه چیز خیلی بد است.

رنگ قرمز - بارها دوباره ترسیم می شود. مشکلی پیش آمد.

شما می توانید به طور مستقل برنامه خود را برای یافتن مناطق مشکل دار آزمایش کنید. یک اکتیویتی ایجاد کنید و یک جزء را روی آن قرار دهید مشاهده متن. به عنصر ریشه و برچسب متن مقداری پس زمینه در ویژگی بدهید اندروید: پس زمینه. در نهایت با موارد زیر مواجه می شوید: ابتدا لایه زیرین فعالیت را با یک رنگ رنگ آمیزی کردید. سپس یک لایه جدید از روی آن کشیده می شود مشاهده متن. اتفاقا، در واقع مشاهده متنمتن نیز ترسیم شده است.

در برخی موارد، نمی توان از تحمیل رنگ ها اجتناب کرد. اما تصور کنید که پس زمینه لیست را به همین ترتیب تنظیم کنید نمای لیست، که کل منطقه فعالیت را اشغال می کند. سیستم کار مضاعف انجام می دهد، اگرچه کاربر هرگز لایه پایینی فعالیت را نخواهد دید. و اگر علاوه بر این، نشانه گذاری خود را برای هر عنصر از لیست با پس زمینه خاص خود ایجاد کنید، در نهایت به جستجو خواهید رسید.

نصیحت کوچک بعد از روش قرار دهید setContentView()فراخوانی روشی که طراحی مجدد صفحه با رنگ تم را حذف می کند. این به حذف یک پوشش رنگ اضافی کمک می کند:

GetWindow().setBackgroundDrawable(null);

امروزه، به طور خاص به طور فعال مورد بحث قرار می گیرد و بسیاری از کاربران علاقه مند هستند که استخراج سکه را از کجا شروع کنند و چگونه همه چیز اتفاق می افتد. محبوبیت این صنعت قبلاً تأثیر ملموسی بر بازار پردازنده‌های گرافیکی داشته است و بسیاری مدت‌هاست که کارت گرافیک قدرتمند را نه با بازی‌های سخت‌گیر، بلکه با مزارع کریپتو مرتبط می‌کنند. در این مقاله، ما در مورد چگونگی سازماندهی کل این فرآیند از ابتدا و شروع استخراج در مزرعه خود، چه چیزی برای این کار و چرا غیرممکن است صحبت خواهیم کرد.

استخراج در کارت گرافیک چیست؟

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

برای استخراج، از کارت های ویدئویی گسسته تمام عیار استفاده می شود. از نوت بوک یا تراشه های یکپارچه پردازنده استفاده نمی شود. همچنین مقالاتی در شبکه در مورد استخراج روی کارت گرافیک خارجی وجود دارد، اما این نیز در همه موارد کار نمی کند و بهترین راه حل نیست.

چه کارت های ویدئویی برای استخراج مناسب هستند

بنابراین، در مورد انتخاب کارت گرافیک، در اینجا روش معمول خرید AMD rx 470، rx 480، rx 570، rx 580 یا Nvidia 1060، 1070، 1080 ti است. کارت‌های گرافیکی مانند r9 280x، r9 290، 1050، 1060 نیز مناسب هستند، اما سود زیادی به همراه نمی‌آورند. ماینینگ روی یک کارت گرافیک ضعیف مانند geforce gtx 460، gts 450، gtx 550ti قطعا سودی به همراه نخواهد داشت. اگر در مورد حافظه صحبت می کنیم، بهتر است از 2 گیگابایت استفاده کنید. حتی 1 گیگابایت هم ممکن است کافی نباشد، البته 512 مگابایت. اگر ما در مورد استخراج روی یک کارت گرافیک حرفه ای صحبت کنیم، آن را مانند کارت های معمولی یا حتی کمتر به ارمغان می آورد. با توجه به هزینه چنین VC، این سودآور نیست، اما اگر قبلاً آنها را دارید، می توانید با کمک آنها استخراج کنید.

همچنین شایان ذکر است که تمام کارت‌های گرافیکی می‌توانند با باز کردن مقادیری که سازنده تعیین کرده است، عملکرد را افزایش دهند. به این فرآیند اورکلاک می گویند. با این حال، این ایمن نیست، منجر به از دست دادن ضمانت می شود و ممکن است کارت از کار بیفتد، به عنوان مثال، شروع به نشان دادن مصنوعات کند. می توانید کارت های ویدیویی را اورکلاک کنید، اما باید با مطالب مربوط به این موضوع آشنا شوید و با احتیاط ادامه دهید. شما نباید سعی کنید بلافاصله تمام مقادیر را به حداکثر تنظیم کنید، اما حتی بهتر است نمونه هایی از تنظیمات اورکلاک موفق کارت گرافیک خود را در اینترنت پیدا کنید.

محبوب ترین کارت گرافیک ها برای استخراج 2020

در زیر مقایسه ای از کارت گرافیک ها را مشاهده می کنید. جدول شامل محبوب ترین دستگاه ها و حداکثر مصرف برق آنها است. باید بگویم که این ارقام ممکن است بسته به مدل خاص کارت گرافیک، سازنده آن، حافظه مورد استفاده و برخی ویژگی های دیگر متفاوت باشد. نوشتن در مورد شاخص های منسوخ شده مانند استخراج لایت کوین روی کارت گرافیک منطقی نیست، بنابراین تنها سه الگوریتم محبوب برای مزارع در کارت های ویدئویی در نظر گرفته می شوند.

کارت گرافیک اتاش Equihash CryptoNight مصرف انرژی
AMD Radeon R9 280x 11 MH/s 290 ساعت در ثانیه 490H/s 230 وات
AMD Radeon RX 470 26 MH/s 260 ساعت در ثانیه 660H/s 120 وات
AMD Radeon RX 480 29.5 MH/s 290 ساعت در ثانیه 730H/s 135 وات
AMD Radeon RX 570 27.9 MH/s 260 ساعت در ثانیه 700H/s 120 وات
AMD Radeon RX 580 30.2 MH/s 290 ساعت در ثانیه 690H/s 135 وات
Nvidia GeForce GTX 750TI 0.5 MH/s 75 ساعت در ثانیه 250 ساعت در ثانیه 55 وات
Nvidia GeForce GTX 1050TI 13.9 MH/s 180 ساعت در ثانیه 300H/s 75 وات
Nvidia GeForce GTX 1060 22.5 MH/s 270 ساعت در ثانیه 430 ساعت در ثانیه 90 وات
Nvidia GeForce GTX 1070 30 MH/s 430 ساعت در ثانیه 630H/s 120 وات
Nvidia GeForce GTX 1070TI 30.5 MH/s 470H/s 630H/s 135 وات
Nvidia GeForce GTX 1080 23.3MH/s 550H/s 580H/s 140 وات
Nvidia GeForce GTX 1080TI 35 MH/s 685H/s 830H/s 190 وات

آیا امکان استخراج روی یک کارت گرافیک وجود دارد؟

اگر تمایلی به ساخت یک مزرعه کامل از بسیاری از GPUها ندارید، یا فقط می خواهید این فرآیند را در رایانه خانگی خود امتحان کنید، می توانید با یک کارت گرافیک استخراج کنید. هیچ تفاوتی وجود ندارد و به طور کلی تعداد دستگاه های موجود در سیستم مهم نیست. علاوه بر این، شما می توانید دستگاه هایی با تراشه های مختلف یا حتی از تولید کنندگان مختلف. فقط باید دو برنامه را برای چیپ ها به صورت موازی اجرا کنید شرکت های مختلف. یک بار دیگر به یاد بیاورید که استخراج روی کارت گرافیک یکپارچه انجام نمی شود.

چه ارزهای رمزنگاری شده را می توان روی کارت های ویدئویی استخراج کرد

شما می‌توانید هر ارز دیجیتالی را بر روی GPU استخراج کنید، اما باید درک کرد که عملکرد ارزهای مختلف در یک کارت متفاوت است. الگوریتم های قدیمی در حال حاضر برای پردازنده های ویدئویی مناسب نیستند و هیچ سودی به همراه ندارند. این اتفاق می افتد به دلیل ظاهر در بازار دستگاه های جدید - به اصطلاح. آنها بسیار مولدتر هستند و پیچیدگی شبکه را تا حد زیادی افزایش می دهند، اما هزینه آنها بالا است و به هزاران دلار می رسد. بنابراین، استخراج سکه برای SHA-256 (بیت کوین) یا Scrypt (Litecoin، Dogecoin) در خانه ایده بدی در سال 2018 است.

علاوه بر LTC و DOGE، ASIC ها استخراج بیت کوین (BTC)، دش و سایر ارزها را غیرممکن کرده اند. جایی که بهترین انتخابارزهای دیجیتالی که از الگوریتم های محافظت شده با ASIC استفاده می کنند تبدیل خواهند شد. بنابراین، برای مثال، با استفاده از یک GPU، استخراج سکه با استفاده از الگوریتم‌های CryptoNight (Karbovanets، Monero، Electroneum، Bytecoin)، Equihash (ZCash، Hush، Bitcoin Gold) و Ethash (اتریوم، اتریوم کلاسیک) امکان‌پذیر خواهد بود. این لیست هنوز کامل نیست و پروژه های جدید مبتنی بر این الگوریتم ها دائماً ظاهر می شوند. در میان آنها، هم چنگال سکه های محبوب تر و هم پیشرفت های کاملاً جدید وجود دارد. حتی گاهی الگوریتم های جدیدی ظاهر می شوند که برای حل مسائل خاصی طراحی شده اند و می توانند از تجهیزات مختلف استفاده کنند. در زیر ما در مورد چگونگی کشف میزان هش کارت گرافیک صحبت خواهیم کرد.

آنچه برای استخراج روی کارت گرافیک نیاز دارید

در زیر لیستی از مواردی که برای ایجاد یک مزرعه نیاز دارید آمده است:

  • خود کارت های ویدئویی انتخاب مدل های خاصبستگی به بودجه شما یا آنچه در حال حاضر موجود است دارد. البته دستگاه های قدیمی در AGP کار نمی کنند، اما می توانید از هر کارتی از کلاس متوسط ​​یا برتر سال های اخیر استفاده کنید. در بالا، می توانید به جدول عملکرد کارت گرافیک برگردید، که به شما امکان می دهد انتخاب مناسبی داشته باشید.
  • کامپیوتر برای نصب آنها استفاده از سخت افزارهای سطح بالا و ساخت مزرعه بر اساس اجزای با کارایی بالا ضروری نیست. کافی است مقداری AMD Athlon قدیمی، چند گیگابایت رم و هارد دیسکبرای نصب سیستم عامل و برنامه های لازم. همچنین مهم است مادربرد. باید برای مزرعه شما کافی باشد. اسلات PCI. وجود داشته باشد نسخه های ویژهبرای ماینرهایی که دارای 6-8 اسلات هستند و در موارد خاص استفاده از آنها سود بیشتری نسبت به جمع آوری چندین رایانه دارد. توجه ویژه باید فقط به منبع تغذیه شود، زیرا سیستم در تمام ساعات شبانه روز تحت بار زیاد کار می کند. گرفتن PSU با ذخیره برق ضروری است و داشتن گواهینامه پلاس 80 مطلوب است. همچنین می توان با استفاده از آداپتورهای مخصوص دو بلوک را به یک بلوک متصل کرد، اما این راه حل باعث ایجاد اختلاف در اینترنت می شود. بهتر است اصلا از کیس استفاده نکنید. برای خنک کننده بهترتوصیه می شود یک استند مخصوص بسازید یا بخرید. کارت های ویدئویی در این مورد با استفاده از آداپتورهای ویژه ای به نام رایزر خارج می شوند. می توانید آنها را در فروشگاه های تخصصی یا در aliexpress خریداری کنید.
  • منطقه خشک با تهویه مناسب ارزش قرار دادن مزرعه را در یک اتاق غیر مسکونی و حتی بهتر از آن در یک اتاق جداگانه دارد. با این کار ناراحتی ناشی از عملکرد پر سر و صدا سیستم های خنک کننده و دفع گرما از بین می رود. اگر این امکان پذیر نیست، باید کارت های ویدئویی را با بی صداترین سیستم خنک کننده ممکن انتخاب کنید. می توانید از بررسی های موجود در اینترنت، به عنوان مثال، در YouTube بیشتر در مورد آن بیاموزید. همچنین باید در مورد گردش هوا و تهویه فکر کنید تا درجه حرارت را تا حد امکان پایین نگه دارید.
  • برنامه ماینر. استخراج GPU با کمک یک دستگاه خاص انجام می شود که در اینترنت یافت می شود. برای تولید کنندگان ATI Radeonو انویدیا از نرم افزارهای مختلفی استفاده می کند. همین امر در مورد الگوریتم های مختلف صدق می کند.
  • خدمات تجهیزات. این یک نکته بسیار مهم است، زیرا همه نمی دانند که یک مزرعه معدنی نیاز به مراقبت مداوم دارد. کاربر نیاز به نظارت بر دما، تغییر خمیر حرارتی و تمیز کردن CO از گرد و غبار دارد. همچنین باید اقدامات احتیاطی ایمنی را به خاطر بسپارید و به طور منظم سلامت سیستم را بررسی کنید.

نحوه راه اندازی استخراج از ابتدا روی کارت گرافیک

AT این بخشما کل فرآیند استخراج را از انتخاب ارز تا برداشت وجوه در نظر خواهیم گرفت. لازم به ذکر است که کل این فرآیند ممکن است برای استخرها، برنامه ها و تراشه های مختلف کمی متفاوت باشد.

نحوه انتخاب کارت گرافیک برای استخراج

توصیه می کنیم با جدول بالا و بخش محاسبه سود احتمالی آشنا شوید. این به شما امکان می دهد درآمد تقریبی را محاسبه کنید و تصمیم بگیرید که کدام سخت افزار را می توانید بیشتر بخرید و همچنین با دوره بازپرداخت سرمایه گذاری ها مقابله کنید. سازگاری کانکتورهای برق کارت گرافیک و منبع تغذیه را فراموش نکنید. اگر از آداپتورهای مختلف استفاده می شود، آداپتورهای مناسب باید از قبل تهیه شوند. همه اینها به راحتی در فروشگاه های آنلاین چینی با یک پنی یا از فروشندگان محلی با مقداری هزینه اضافی خریداری می شود.

انتخاب یک ارز دیجیتال

اکنون مهم است که تصمیم بگیرید به کدام سکه علاقه دارید و به چه اهدافی می خواهید برسید. اگر به درآمد واقعی علاقه دارید، باید ارزهایی را انتخاب کنید که بیشترین سود را داشته باشند این لحظهو بلافاصله پس از دریافت آنها را بفروشید. همچنین می‌توانید محبوب‌ترین سکه‌ها را استخراج کنید و آن‌ها را تا زمانی که قیمت بالا برود نگه دارید. یک نوع رویکرد استراتژیک نیز وجود دارد که شما یک ارز کمتر شناخته شده، اما از نظر خود امیدوارکننده را انتخاب می کنید و قدرت را روی آن سرمایه گذاری می کنید، به این امید که ارزش آن در آینده به میزان قابل توجهی افزایش یابد.

انتخاب یک استخر معدن

تفاوت هایی نیز دارند. برخی از آنها نیاز به ثبت نام دارند، در حالی که برخی دیگر فقط به آدرس کیف پول شما برای شروع نیاز دارند. اولی معمولاً وجوهی را که به دست می آورید تا زمانی که به حداقل مبلغ پرداختی برسید یا پیش بینی برداشت شما در حالت دستی ذخیره می شود. نمونه بارز چنین استخری Suprnova.cc است. این ارزهای رمزنگاری شده زیادی را ارائه می دهد و برای کار در هر یک از استخرها، فقط باید یک بار در سایت ثبت نام کنید. راه اندازی این سرویس آسان است و برای مبتدیان مناسب است.

یک سیستم ساده شده مشابه توسط وب سایت Minergate ارائه شده است. خوب، اگر نمی خواهید در برخی از سایت ها ثبت نام کنید و وجوه به دست آمده را در آنجا ذخیره کنید، باید در تاپیک رسمی سکه مورد علاقه خود در انجمن BitcoinTalk مقداری استخر انتخاب کنید. استخرهای ساده فقط از شما نیاز دارند که یک آدرس برای انباشت کریپت مشخص کنید و در آینده با استفاده از آدرس می توانید آمار استخراج را پیدا کنید.

یک کیف پول رمزنگاری ایجاد کنید

اگر از استخری استفاده می کنید که نیاز به ثبت نام دارد و کیف پول داخلی دارد، به این آیتم نیازی ندارید. اگر می خواهید به طور خودکار پرداخت ها را به کیف پول خود دریافت کنید، سعی کنید در مقاله مربوط به سکه مربوطه، در مورد ایجاد کیف پول بخوانید. این فرآیندممکن است برای پروژه های مختلف به طور قابل توجهی متفاوت باشد.

همچنین می‌توانید آدرس کیف پول خود را به یکی از صرافی‌ها نشان دهید، اما باید توجه داشت که همه پلتفرم‌های صرافی تراکنش‌های استخر را نمی‌پذیرند. بهترین گزینه ایجاد یک کیف پول به طور مستقیم بر روی رایانه شما خواهد بود، اما اگر با تعداد زیادی ارز کار می کنید، ذخیره تمام بلاک چین ها ناخوشایند خواهد بود. در این مورد، باید به دنبال کیف پول های آنلاین قابل اعتماد یا نسخه های سبک وزنی باشید که نیازی به دانلود کل زنجیره بلوک ندارند.

انتخاب و نصب برنامه ماینینگ

انتخاب یک برنامه برای استخراج یک دخمه به سکه انتخابی و الگوریتم آن بستگی دارد. احتمالاً همه توسعه دهندگان چنین نرم افزارهایی دارای موضوعاتی در BitcoinTalks هستند که می توانید لینک های دانلود و اطلاعاتی در مورد نحوه راه اندازی و راه اندازی پیدا کنید. تقریباً همه این برنامه ها نسخه هایی برای ویندوز و لینوکس دارند. اکثر این ماینرها رایگان هستند، اما درصد مشخصی از زمان را برای اتصال به استخر توسعه دهندگان استفاده می کنند. این یک نوع پورسانت برای استفاده از نرم افزار است. در برخی موارد، می توان آن را غیرفعال کرد، اما این منجر به عملکرد محدود می شود.

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

اگر نمی دانید کدام نرم افزار را انتخاب کنید، مطالب ما را در این مورد بررسی کنید یا دستورالعمل های وب سایت استخر را بخوانید. معمولاً همیشه بخشی وجود دارد که به شروع اختصاص داده شده است. این شامل لیستی از برنامه های قابل استفاده و تنظیمات است خفاشفایل ها. با استفاده از آن، می توانید به سرعت تنظیمات را کشف کرده و استخراج را روی یک کارت گرافیک مجزا شروع کنید. می‌توانید فوراً فایل‌های دسته‌ای را برای همه ارزهایی که می‌خواهید با آن‌ها کار کنید ایجاد کنید، تا بعداً جابجایی بین آنها راحت‌تر باشد.

ما شروع به استخراج و نظارت بر آمار می کنیم

پس از راه اندازی خفاشفایل با تنظیمات، پنجره کنسولی را می بینید که در آن گزارش اتفاقات در حال رخ دادن نمایش داده می شود. همچنین می توان آن را در پوشه حاوی فایل اجرایی یافت. در کنسول، می توانید هش و دمای فعلی کارت را مشاهده کنید. کلیدهای میانبر معمولاً به شما امکان فراخوانی داده های واقعی را می دهند.

همچنین می‌توانید ببینید که آیا دستگاه هش‌ها را پیدا نمی‌کند یا خیر. در این صورت یک هشدار نمایش داده می شود. این زمانی اتفاق می افتد که چیزی به درستی پیکربندی نشده باشد، نرم افزار اشتباهی برای سکه انتخاب شده باشد یا GPU به درستی کار نکند. بسیاری از ماینرها نیز از منابع مالی استفاده می کنند دسترسی از راه دوربه رایانه شخصی برای نظارت بر عملکرد مزرعه زمانی که آنها در جایی که آن نصب نشده است.

ما ارز دیجیتال را برداشت می کنیم

اگر از استخرهایی مانند Suprnova استفاده می کنید، تمام وجوه به سادگی در حساب شما جمع می شود و می توانید در هر زمان آنها را برداشت کنید. بقیه استخرها اغلب زمانی از سیستم استفاده می کنند که پس از دریافت حداقل مبلغ برداشت، وجوه به طور خودکار به کیف پول مشخص شده واریز می شود. معمولاً در وب سایت استخر می توانید میزان درآمد خود را دریابید. فقط باید آدرس کیف پول خود را مشخص کنید یا وارد حساب شخصی خود شوید.

چقدر می توانید درآمد داشته باشید؟

مبلغی که می توانید کسب کنید به وضعیت بازار و البته کل هش ریت مزرعه شما بستگی دارد. همچنین مهم است که کدام استراتژی را انتخاب می کنید. لازم نیست همه چیز استخراج شده را به یکباره بفروشید. برای مثال می توانید منتظر جهش در نرخ یک سکه استخراج شده باشید و چندین برابر سود بیشتری کسب کنید. با این حال، همه چیز چندان واضح نیست و پیش بینی توسعه بیشتر رویدادها به سادگی غیر واقعی است.

بازپرداخت کارت گرافیک

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

باید درک کرد که فقط وضعیت فعلی بازار در نظر گرفته می شود و وضعیت می تواند در هر زمان تغییر کند. ممکن است نرخ کاهش یا افزایش یابد، دشواری استخراج متفاوت خواهد شد یا پروژه های جدیدی ظاهر می شوند. بنابراین، برای مثال، تولید اتر ممکن است به دلیل انتقال احتمالی شبکه به . اگر استخراج اتریوم متوقف شود، مزرعه‌ها باید به جایی برق رایگان بفرستند، مثلاً برای استخراج ZCash روی GPU، که بر نرخ این سکه تأثیر می‌گذارد. سناریوهای مشابه زیادی در بازار وجود دارد و درک این نکته مهم است که تصویر فعلی ممکن است در کل دوره بازپرداخت تجهیزات حفظ نشود.

یک بار فرصتی داشتم که در بازار کامپیوتر با مدیر فنی یکی از شرکت های متعدد فروش لپ تاپ صحبت کنم. این "متخصص" سعی کرد از دهان فوم کند تا توضیح دهد دقیقاً به چه نوع پیکربندی لپ تاپ نیاز دارم. پیام اصلی مونولوگ او این بود که زمان واحدهای پردازش مرکزی (CPU) به پایان رسیده است و اکنون همه برنامه ها به طور فعال از محاسبات روی واحد پردازش گرافیکی (GPU) استفاده می کنند و بنابراین عملکرد لپ تاپ کاملاً به گرافیک وابسته است. پردازنده، و شما نمی توانید هیچ توجهی به CPU. با درک اینکه بحث و استدلال با این مدیر فنی کاملاً بیهوده است، وقت بیهوده تلف نکردم و لپ تاپ مورد نیازم را در غرفه دیگری خریدم. با این حال ، واقعیت چنین بی کفایتی آشکار فروشنده مرا تحت تأثیر قرار داد. اگر بخواهد من را به عنوان خریدار فریب دهد قابل درک است. اصلا. او صمیمانه به آنچه می گفت ایمان داشت. بله، ظاهراً بازاریابان NVIDIA و AMD نان خود را بیهوده نمی خورند و هنوز هم توانسته اند ایده نقش غالب پردازنده گرافیکی در رایانه مدرن را به برخی از کاربران القا کنند.

این واقعیت که امروزه محاسبات واحد پردازش گرافیکی (GPU) روز به روز محبوب تر می شود، شکی نیست. با این حال، این از نقش پردازنده مرکزی کم نمی کند. علاوه بر این، اگر در مورد اکثریت قریب به اتفاق برنامه های کاربر صحبت کنیم، امروزه عملکرد آنها کاملاً به عملکرد CPU بستگی دارد. یعنی اکثریت قریب به اتفاق برنامه های کاربر از محاسبات GPU استفاده نمی کنند.

به طور کلی، محاسبات GPU بیشتر بر روی سیستم های تخصصی HPC برای محاسبات علمی انجام می شود. اما اپلیکیشن های کاربری که از محاسبات GPU استفاده می کنند را می توان روی انگشتان حساب کرد. در عین حال، فوراً باید توجه داشت که اصطلاح "محاسبات روی پردازنده گرافیکی" در این مورد کاملاً صحیح نیست و می تواند گمراه کننده باشد. واقعیت این است که اگر یک برنامه از محاسبات GPU استفاده می کند، این به هیچ وجه به این معنی نیست که پردازنده مرکزی بیکار است. محاسبات روی GPU شامل انتقال بار از CPU به GPU نیست. به عنوان یک قاعده، پردازنده مرکزی مشغول باقی می ماند و استفاده از پردازنده گرافیکی به همراه پردازنده مرکزی به شما امکان می دهد عملکرد را افزایش دهید، یعنی زمان انجام کار را کاهش دهید. علاوه بر این، خود GPU در اینجا به عنوان نوعی پردازنده مشترک برای CPU عمل می کند، اما به هیچ وجه به طور کامل جایگزین آن نمی شود.

برای درک اینکه چرا محاسبات GPU آنچنان نوشدارویی نیست و چرا نمی‌توان گفت که توانایی‌های محاسباتی آن‌ها برتر از CPU است، نادرست است، لازم است تفاوت بین پردازنده مرکزی و پردازنده گرافیکی را درک کنیم.

تفاوت در معماری GPU و CPU

هسته های CPU برای اجرای یک جریان منفرد از دستورالعمل های متوالی با حداکثر کارایی طراحی شده اند، در حالی که GPU برای اجرای بسیار سریع طراحی شده است. تعداد زیادیرشته های موازی دستورالعمل ها این تفاوت اساسی بین پردازنده های گرافیکی و پردازنده های مرکزی است. CPU یک پردازنده همه منظوره یا همه منظوره است که برای عملکرد تک جریانی بالا بهینه شده است که هم اعداد صحیح و هم اعداد ممیز شناور را پردازش می کند. در این حالت دسترسی به حافظه با داده ها و دستورالعمل ها عمدتاً به صورت تصادفی اتفاق می افتد.

برای بهبود عملکرد CPU، آنها به گونه ای طراحی شده اند که تا حد امکان دستورات بیشتری را به صورت موازی اجرا کنند. به عنوان مثال، برای این، هسته های پردازنده از یک بلوک اجرای دستور خارج از نظم استفاده می کنند، که به شما امکان می دهد دستورات را خارج از ترتیب دریافت آنها دوباره ترتیب دهید، که به شما امکان می دهد سطح موازی سازی را در اجرای دستورالعمل ها افزایش دهید. در سطح یک رشته با این وجود، این هنوز اجازه اجرای موازی تعداد زیادی دستورالعمل را نمی دهد و هزینه سربار برای موازی سازی دستورالعمل ها در هسته پردازنده بسیار قابل توجه است. به همین دلیل است که پردازنده‌های همه منظوره تعداد واحدهای اجرایی زیادی ندارند.

GPU اساساً متفاوت طراحی شده است. در ابتدا برای اجرا طراحی شده بود مقدار زیادیجریان های موازی دستورات علاوه بر این، این جریان‌های فرمان در ابتدا موازی می‌شوند و به سادگی هیچ هزینه‌ای برای موازی‌سازی دستورالعمل‌ها در GPU وجود ندارد. GPU برای ارائه تصویر طراحی شده است. به بیان ساده، در ورودی گروهی از چند ضلعی ها را می گیرد، تمام عملیات لازم را انجام می دهد و پیکسل ها را در خروجی خروجی می دهد. پردازش چند ضلعی ها و پیکسل ها مستقل است، آنها را می توان به صورت موازی، جداگانه از یکدیگر پردازش کرد. بنابراین، به دلیل سازماندهی ذاتاً موازی کار در GPU، تعداد زیادی واحد اجرایی استفاده می شود که بر خلاف جریان متوالی دستورالعمل ها برای CPU، بارگذاری آسانی دارند.

پردازنده‌های گرافیکی و پردازنده‌های مرکزی نیز در نحوه دسترسی به حافظه متفاوت هستند. در GPU، دسترسی به حافظه به راحتی قابل پیش بینی است: اگر یک بافت تکسل از حافظه خوانده شود، پس از مدتی زمان تکل های همسایه نیز فرا می رسد. هنگام نوشتن، همین اتفاق می افتد: اگر یک پیکسل در فریم بافر نوشته شود، پس از چند چرخه، پیکسل واقع در کنار آن نوشته می شود. بنابراین، پردازنده گرافیکی، بر خلاف CPU، به سادگی نیازی به حافظه پنهان بزرگ ندارد و بافت ها تنها به چند کیلوبایت نیاز دارند. اصل کار با حافظه در GPU و CPU نیز متفاوت است. بنابراین، همه پردازنده‌های گرافیکی مدرن چندین کنترلر حافظه دارند و خود حافظه گرافیکی سریع‌تر است، بنابراین پردازنده‌های گرافیکی بسیار بیشتر هستند. در بارهپهنای باند حافظه بیشتر در مقایسه با پردازنده های همه منظوره، که برای محاسبات موازی که با جریان های داده عظیم کار می کنند نیز بسیار مهم است.

در پردازنده های جهانی ب در بارهبیشتر ناحیه قالب توسط بافرهای مختلف فرمان و داده، بلوک‌های رمزگشایی، بلوک‌های پیش‌بینی شاخه‌های سخت‌افزار، بلوک‌های مرتب‌سازی مجدد دستورات و حافظه پنهان سطوح اول، دوم و سوم اشغال شده است. همه این بلوک های سخت افزاری برای سرعت بخشیدن به اجرای چند جریان دستورالعمل با موازی سازی آنها در سطح هسته پردازنده مورد نیاز هستند.

خود واحدهای اجرایی فضای نسبتا کمی را در پردازنده جهانی اشغال می کنند.

برعکس، در GPU، منطقه اصلی توسط واحدهای اجرایی متعددی اشغال شده است که به آن امکان می دهد همزمان چندین هزار جریان فرمان را پردازش کند.

می توان گفت که برخلاف CPU های مدرن، GPU ها برای محاسبات موازی با تعداد زیادی عملیات حسابی طراحی شده اند.

استفاده از توان محاسباتی GPUها برای کارهای غیر گرافیکی امکان پذیر است، اما تنها در صورتی که مشکل حل شده امکان موازی سازی الگوریتم ها را در صدها واحد اجرایی موجود در GPU فراهم کند. به طور خاص، محاسبات GPU نتایج عالی را در صورت یک توالی نشان می دهد عملیات ریاضیبرای حجم زیادی از داده ها اعمال می شود. در این حالت اگر نسبت تعداد دستورات حسابی به تعداد دسترسی های حافظه به اندازه کافی زیاد باشد بهترین نتایج حاصل می شود. این عملیات نیاز کمتری به کنترل اجرا دارد و نیازی به حافظه پنهان بزرگ ندارد.

نمونه های زیادی از محاسبات علمی وجود دارد که مزیت GPU نسبت به CPU از نظر کارایی محاسباتی غیرقابل انکار است. بنابراین، بسیاری از کاربردهای علمی در مدل‌سازی مولکولی، دینامیک گاز، دینامیک سیالات و موارد دیگر کاملاً برای محاسبات GPU سازگار هستند.

بنابراین، اگر الگوریتم حل یک مسئله را بتوان به هزاران رشته مجزا موازی کرد، در این صورت کارایی حل چنین مشکلی با استفاده از یک GPU می تواند بالاتر از حل آن تنها با استفاده از یک پردازنده همه منظوره باشد. با این حال، گرفتن و انتقال راه حل برخی از کارها از CPU به GPU چندان آسان نیست، البته فقط به این دلیل که CPU و GPU از دستورات مختلفی استفاده می کنند. یعنی وقتی برنامه ای برای یک راه حل روی CPU نوشته می شود، از مجموعه دستورات x86 (یا یک مجموعه دستورالعمل سازگار با معماری خاص پردازنده) استفاده می شود، اما برای GPU از مجموعه دستورالعمل های کاملاً متفاوتی استفاده می شود که دوباره به آن توجه می شود. معماری و قابلیت های آن را در نظر بگیرید. توسعه بازی‌های سه بعدی مدرن از DirectX و OrenGL API استفاده می‌کند تا به برنامه‌نویسان اجازه دهد با سایه‌زن‌ها و بافت‌ها کار کنند. با این حال، استفاده از DirectX و OrenGL API برای محاسبات غیر گرافیکی روی GPU بهترین گزینه نیست.

برنامه های NVIDIA CUDA و AMD

به همین دلیل است که وقتی اولین تلاش ها برای پیاده سازی محاسبات غیر گرافیکی روی GPU (GPU GPGPU) آغاز شد، کامپایلر BrookGPU به وجود آمد. قبل از ایجاد آن، توسعه دهندگان مجبور بودند از طریق APIهای گرافیکی OpenGL یا Direct3D به منابع کارت ویدیو دسترسی داشته باشند، که فرآیند برنامه نویسی را بسیار پیچیده می کرد، زیرا به دانش خاصی نیاز داشت - آنها باید اصول کار با اشیاء سه بعدی (سایه کننده ها، بافت ها و غیره) را یاد می گرفتند. ). این دلیل استفاده بسیار محدود از GPGPU در محصولات نرم افزاری بود. BrookGPU به نوعی «مترجم» تبدیل شده است. این پسوندهای جریانی به زبان C، API 3D را از برنامه نویسان پنهان می کردند و هنگام استفاده از آن، نیاز به دانش برنامه نویسی سه بعدی عملاً از بین رفت. قدرت محاسباتی کارت‌های ویدئویی به شکل یک پردازشگر اضافی برای محاسبات موازی در دسترس برنامه‌نویسان قرار گرفت. کامپایلر BrookGPU یک فایل را با کد C و پسوندها پردازش می‌کند، کدهای ساختمانی مرتبط با کتابخانه با پشتیبانی DirectX یا OpenGL.

تا حد زیادی به لطف BrookGPU، NVIDIA و ATI (اکنون AMD) توجه خود را به فناوری محاسباتی همه منظوره نوظهور بر روی GPUها معطوف کردند و شروع به توسعه پیاده‌سازی‌های خود کردند که دسترسی مستقیم و شفاف‌تری به واحدهای محاسباتی شتاب‌دهنده سه‌بعدی فراهم می‌کند.

در نتیجه، NVIDIA معماری محاسباتی موازی CUDA (معماری یکپارچه دستگاه محاسبه) را توسعه داد. معماری CUDA اجازه می دهد تا محاسبات غیر گرافیکی روی پردازنده های گرافیکی NVIDIA پیاده سازی شود.

نسخه بتای عمومی CUDA SDK در فوریه 2007 منتشر شد. CUDA API بر اساس یک گویش ساده شده از زبان C است. معماری CUDA SDK به برنامه نویسان اجازه می دهد تا الگوریتم هایی را پیاده سازی کنند که روی پردازنده های گرافیکی NVIDIA اجرا می شوند و توابع خاصی را در کد C گنجانده اند. برای ترجمه موفقیت آمیز کد به این زبان، CUDA SDK شامل کامپایلر خط فرمان nvcc خود NVIDIA است.

CUDA یک نرم افزار چند پلتفرمی برای چنین مواردی است سیستم های عاملمانند لینوکس، مک او اس ایکس و ویندوز.

AMD (ATI) همچنین نسخه خود را از فناوری GPGPU توسعه داده است که قبلاً ATI Stream و اکنون AMD Accelerated Parallel Processing (APP) نامیده می شد. AMD APP بر اساس استاندارد صنعت باز OpenCL (زبان محاسبات باز) است. استاندارد OpenCL موازی سازی را در سطح دستورالعمل و در سطح داده ارائه می دهد و پیاده سازی تکنیک GPGPU است. این یک استاندارد کاملا باز است و برای استفاده بدون حق امتیاز است. توجه داشته باشید که AMD APP و NVIDIA CUDA با یکدیگر سازگار نیستند، آخرین نسخه NVIDIA CUDA از OpenCL نیز پشتیبانی می کند.

تست GPGPU در مبدل های ویدئویی

بنابراین، متوجه شدیم که فناوری CUDA برای پیاده‌سازی GPGPU بر روی پردازنده‌های گرافیکی NVIDIA و APP API در پردازنده‌های گرافیکی AMD طراحی شده است. همانطور که قبلاً اشاره شد، استفاده از محاسبات غیر گرافیکی در GPU تنها در صورتی توصیه می شود که کار در حال حل بتواند در رشته های زیادی موازی شود. با این حال، اکثر برنامه های کاربردی کاربر این معیار را برآورده نمی کنند. با این حال، چند استثنا وجود دارد. به عنوان مثال، اکثر مبدل های ویدئویی مدرن از قابلیت استفاده از محاسبات روی پردازنده های گرافیکی NVIDIA و AMD پشتیبانی می کنند.

برای اینکه بفهمیم محاسبات GPU چقدر در مبدل های ویدیویی سفارشی استفاده می شود، سه راه حل محبوب را انتخاب کردیم: Xilisoft دستگاه یا نرم افزار تبدیل ویدیو Ultimate 7.7.2، Wondershare Video Converter Ultimate 6.0.3.2 و مووی ویدیومبدل 10.2.1. این مبدل ها از استفاده از پردازنده های گرافیکی NVIDIA و AMD پشتیبانی می کنند و می توانید این ویژگی را در تنظیمات مبدل ویدیو غیرفعال کنید که به شما امکان می دهد کارایی استفاده از GPU را ارزیابی کنید.

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

ویدیوی اول 3 دقیقه و 35 ثانیه و حجم آن 1.05 گیگابایت بود. با فرمت mkv ذخیره سازی داده (کانتینر) ضبط شده بود و دارای مشخصات زیر بود:

  • ویدئو:
    • فرمت - MPEG4 ویدیو (H264)،
    • وضوح - 1920*um*1080،
    • حالت بیت ریت - متغیر،
    • متوسط ​​نرخ بیت ویدئو - 42.1 مگابیت بر ثانیه،
    • حداکثر نرخ بیت ویدئو - 59.1 مگابیت در ثانیه،
    • نرخ فریم - 25 فریم در ثانیه؛
  • سمعی:
    • فرمت - MPEG-1 صوتی،
    • نرخ بیت صوتی - 128 کیلوبیت بر ثانیه،
    • تعداد کانال - 2،

ویدیوی دوم 4 دقیقه و 25 ثانیه و حجم آن 1.98 گیگابایت بود. در فرمت ذخیره سازی داده های MPG (کانتینر) ضبط شده بود و دارای ویژگی های زیر بود:

  • ویدئو:
    • فرمت - MPEG-PS (ویدئو MPEG2)،
    • وضوح - 1920*um*1080،
    • حالت بیت ریت - متغیر.
    • متوسط ​​نرخ بیت ویدئو - 62.5 مگابیت بر ثانیه،
    • حداکثر نرخ بیت ویدئو - 100 مگابیت در ثانیه،
    • نرخ فریم - 25 فریم در ثانیه؛
  • سمعی:
    • فرمت - MPEG-1 صوتی،
    • نرخ بیت صوتی - 384 کیلوبیت بر ثانیه،
    • تعداد کانال - 2،

ویدیوی سوم 3 دقیقه و 47 ثانیه و حجم آن 197 مگابایت بود. این در قالب ذخیره سازی داده های MOV (کانتینر) ضبط شد و دارای ویژگی های زیر بود:

  • ویدئو:
    • فرمت - MPEG4 ویدیو (H264)،
    • وضوح - 1920*um*1080،
    • حالت بیت ریت - متغیر،
    • میزان بیت ویدئو - 7024 کیلوبیت بر ثانیه،
    • نرخ فریم - 25 فریم در ثانیه؛
  • سمعی:
    • فرمت - AAC،
    • نرخ بیت صوتی - 256 کیلوبیت بر ثانیه،
    • تعداد کانال - 2،
    • فرکانس نمونه برداری - 48 کیلوهرتز.

هر سه ویدیوی آزمایشی با استفاده از مبدل های ویدیویی به فرمت ذخیره سازی داده MP4 (کدک H.264) برای مشاهده در آن تبدیل شدند. تبلت آیپد 2. وضوح فایل تصویری خروجی 1280*um*720 بود.

توجه داشته باشید که ما در هر سه مبدل دقیقاً از تنظیمات تبدیل یکسانی استفاده نکردیم. به همین دلیل است که مقایسه کارایی مبدل های ویدیویی با زمان تبدیل نادرست است. به عنوان مثال، در مبدل ویدئویی Xilisoft Video Converter Ultimate 7.7.2، از پیش تنظیم شده iPad 2 - H.264 HD Video برای تبدیل استفاده شد. این پیش تنظیم استفاده می کند تنظیمات زیرکدگذاری:

  • کدک - MPEG4 (H.264)؛
  • وضوح - 1280*um*720;
  • نرخ فریم - 29.97 فریم در ثانیه؛
  • میزان بیت ویدئو - 5210 کیلوبیت بر ثانیه;
  • کدک صوتی - AAC؛
  • نرخ بیت صوتی - 128 کیلوبیت بر ثانیه؛
  • تعداد کانال - 2؛
  • فرکانس نمونه برداری - 48 کیلوهرتز.

Wondershare Video Converter Ultimate 6.0.3.2 از پیش تنظیم iPad 2 با تنظیمات اضافی زیر استفاده کرد:

  • کدک - MPEG4 (H.264)؛
  • وضوح - 1280*um*720;
  • نرخ فریم - 30 فریم در ثانیه؛
  • میزان بیت ویدئو - 5000 کیلوبیت بر ثانیه؛
  • کدک صوتی - AAC؛
  • نرخ بیت صوتی - 128 کیلوبیت بر ثانیه؛
  • تعداد کانال - 2؛
  • فرکانس نمونه برداری - 48 کیلوهرتز.

Movavi Video Converter 10.2.1 از پیش تنظیم iPad (1280*um*720, H.264) (*.mp4) با تنظیمات اضافی زیر استفاده کرد:

  • فرمت ویدیویی - H.264;
  • وضوح - 1280*um*720;
  • نرخ فریم - 30 فریم در ثانیه؛
  • میزان بیت ویدئو - 2500 کیلوبیت بر ثانیه؛
  • کدک صوتی - AAC؛
  • نرخ بیت صوتی - 128 کیلوبیت بر ثانیه؛
  • تعداد کانال - 2؛
  • فرکانس نمونه برداری - 44.1 کیلوهرتز.

تبدیل هر ویدیوی منبع پنج بار بر روی هر یک از مبدل‌های ویدئویی، با استفاده از GPU و فقط CPU انجام شد. پس از هر تبدیل، کامپیوتر دوباره راه اندازی می شود.

در نتیجه، هر ویدیو ده بار در هر مبدل ویدیویی تبدیل شد. برای خودکارسازی این کار معمولی نوشته شد ابزار ویژهبا رابط کاربری گرافیکی، که به شما امکان می دهد فرآیند آزمایش را کاملاً خودکار کنید.

پیکربندی میز تست

پایه تست دارای پیکربندی زیر بود:

  • پردازنده - اینتل Core i7-3770K;
  • مادربرد - گیگابایت GA-Z77X-UD5H؛
  • چیپست برد سیستم- Intel Z77 Express؛
  • حافظه - DDR3-1600؛
  • اندازه حافظه - 8 گیگابایت (دو ماژول GEIL 4 گیگابایتی)؛
  • حالت عملکرد حافظه - دو کاناله؛
  • کارت گرافیک - NVIDIA GeForce GTX 660Ti (درایور ویدیو 314.07)؛
  • درایو - Intel SSD 520 (240 گیگابایت).

یک اتاق عمل روی جایگاه نصب شد سیستم ویندوز 7 نهایی (64 بیتی).

در ابتدا، ما پردازنده و سایر اجزای سیستم را در حالت عادی آزمایش کردیم. در همان زمان، پردازنده Intel Core i7-3770K با فرکانس اسمی 3.5 گیگاهرتز سی کار می کرد. حالت فعال افزایش توربو (حداکثر فرکانسپردازنده در حالت Turbo Boost 3.9 گیگاهرتز است.

سپس فرآیند تست را تکرار کردیم، اما در حین اورکلاک کردن پردازنده تا فرکانس ثابت 4.5 گیگاهرتز (بدون استفاده از حالت Turbo Boost). این امر باعث شد تا وابستگی سرعت تبدیل به فرکانس پردازنده (CPU) آشکار شود.

در مرحله بعدی آزمایش، ما به تنظیمات استاندارد پردازنده بازگشتیم و با سایر کارت‌های ویدیویی آزمایش را تکرار کردیم:

  • NVIDIA GeForce GTX 280 (درایور 314.07)؛
  • NVIDIA GeForce GTX 460 (درایور 314.07)؛
  • AMD Radeon HD6850 (درایور 13.1).

بنابراین، تبدیل ویدیو بر روی چهار کارت گرافیک با معماری های مختلف انجام شد.

کارت گرافیک قدیمی NVIDIA GeForce 660Ti مبتنی بر پردازنده گرافیکی به همین نام با کد کد GK104 (معماری کپلر) است که با استفاده از فناوری پردازش 28 نانومتری ساخته شده است. این پردازنده گرافیکی شامل 3.54 میلیارد ترانزیستور و مساحت قالب 294 میلی متر مربع است.

به یاد بیاورید که GPU GK104 شامل چهار کلاستر پردازش گرافیکی (Graphics Processing Cluster, GPC) است. خوشه‌های GPC دستگاه‌های مستقلی در پردازنده هستند و می‌توانند به‌عنوان دستگاه‌های جداگانه کار کنند، زیرا همه منابع لازم را دارند: شطرنج‌سازها، موتورهای هندسه و ماژول‌های بافت.

هر یک از این خوشه ها دارای دو SMX چند پردازنده جریانی (چند پردازنده جریانی) است، اما در پردازنده GK104 در یکی از خوشه ها، یک چند پردازنده مسدود شده است، بنابراین در مجموع هفت چند پردازنده SMX وجود دارد.

هر چند پردازنده SMX Streaming شامل 192 هسته محاسباتی جریانی (CUDA Cores) است، بنابراین پردازنده GK104 در مجموع دارای 1344 هسته CUDA است. علاوه بر این، هر چند پردازنده SMX شامل 16 TMU، 32 واحد عملکرد ویژه (SFUs)، 32 واحد Load-Store (LSUs)، یک موتور PolyMorph و غیره است.

کارت گرافیک GeForce GTX 460 بر اساس یک GPU با کد GF104 بر اساس معماری فرمی ساخته شده است. این پردازنده با استفاده از فناوری پردازش 40 نانومتری ساخته شده و دارای حدود 1.95 میلیارد ترانزیستور است.

پردازنده گرافیکی GF104 شامل دو کلاستر پردازش گرافیکی GPC است. هر کدام دارای چهار SM چند پردازنده است، اما در پردازنده GF104 در یکی از خوشه ها، یک چند پردازنده مسدود شده است، بنابراین تنها هفت SM چند پردازنده وجود دارد.

هر چند پردازنده جریانی SM شامل 48 هسته محاسباتی جریانی (هسته CUDA) است، بنابراین پردازنده GK104 در مجموع دارای 336 هسته CUDA است. علاوه بر این، هر چند پردازنده SM شامل هشت واحد بافت (TMUs)، هشت واحد عملکرد ویژه (SFU)، 16 واحد Load-Store (LSUs)، یک موتور PolyMorph و غیره است.

پردازنده گرافیکی GeForce GTX 280 متعلق به نسل دوم معماری واحد پردازش گرافیکی NVIDIA است و از نظر معماری با فرمی و کپلر بسیار متفاوت است.

پردازنده گرافیکی GeForce GTX 280 از خوشه های پردازش بافت (TPC) تشکیل شده است، که اگرچه مشابه هستند، اما بسیار متفاوت از کلاسترهای پردازش گرافیکی Fermi و Kepler GPC هستند. در کل، ده خوشه از این دست در پردازنده GeForce GTX 280 وجود دارد. هر خوشه TPC شامل سه SM و هشت TMU است. هر چند پردازنده از هشت پردازنده جریانی (SP) تشکیل شده است. چند پردازنده ها همچنین دارای واحدهایی برای نمونه برداری و فیلتر کردن داده های بافت هستند که هم در گرافیک و هم در برخی از کارهای محاسباتی استفاده می شوند.

بنابراین، در یک خوشه TPC 24 پردازنده جریانی وجود دارد و در GPU GeForce GTX 280 در حال حاضر 240 مورد از آنها وجود دارد.

خلاصه ویژگی های کارت های ویدیویی مبتنی بر پردازنده های گرافیکی NVIDIA مورد استفاده در آزمایش در جدول ارائه شده است.

هیچ کارت گرافیک AMD Radeon HD6850 در جدول فوق وجود ندارد، که کاملا طبیعی است، زیرا طبق مشخصات فنیمقایسه آن با کارت های گرافیک NVIDIA دشوار است. بنابراین، آن را جداگانه بررسی می کنیم.

پردازنده گرافیکی AMD Radeon HD6850 با نام رمز Barts با استفاده از فرآیند 40 نانومتری ساخته شده و دارای 1.7 میلیارد ترانزیستور است.

معماری پردازنده AMD Radeon HD6850 یک معماری یکپارچه با آرایه ای از پردازنده های رایج برای پخش انواع مختلف داده است.

پردازنده AMD Radeon HD6850 از 12 هسته SIMD تشکیل شده است که هر کدام شامل 16 واحد پردازش جریان فوق اسکالر و چهار واحد بافت است. هر پردازنده جریان فوق اسکالر شامل پنج پردازنده جریان جهانی است. بنابراین، در کل، 12*um*16*um*5=960 پردازنده جریان جهانی در پردازنده گرافیکی AMD Radeon HD6850 وجود دارد.

فرکانس GPU کارت گرافیک AMD Radeon HD6850 775 مگاهرتز و فرکانس موثر حافظه GDDR5 4000 مگاهرتز است. حجم حافظه 1024 مگابایت است.

نتایج آزمون

بنابراین، بیایید به نتایج آزمایش بپردازیم. بیایید با اولین تست شروع کنیم، زمانی که کارت گرافیک NVIDIA GeForce GTX 660Ti استفاده می شود و پردازنده Core i7-3770K اینتل در حالت عادی قرار دارد.

روی انجیر شکل 1-3 نتایج تبدیل سه ویدیوی آزمایشی با سه مبدل را در حالت های با و بدون GPU نشان می دهد.

همانطور که از نتایج آزمایش مشخص است، تأثیر استفاده از GPU آشکار است. برای Xilisoft Video Converter Ultimate 7.7.2، هنگام استفاده از GPU، زمان تبدیل به ترتیب 14٪، 9٪ و 19٪ برای ویدیوهای اول، دوم و سوم کاهش می یابد.

برای Wondershare Video Converter Ultimate 6.0.32، استفاده از GPU می تواند زمان تبدیل را به ترتیب 10، 13 و 23 درصد برای ویدیوی اول، دوم و سوم کاهش دهد.

اما Movavi Video Converter 10.2.1 بیشترین سود را از استفاده از GPU می برد. برای ویدیوی اول، دوم و سوم، کاهش زمان تبدیل به ترتیب 64، 81 درصد و 41 درصد است.

واضح است که سود حاصل از استفاده از GPU هم به ویدیوی اصلی و هم به تنظیمات تبدیل ویدیو بستگی دارد، که در واقع با نتایج ما نشان داده می شود.

حال بیایید ببینیم در زمان اورکلاک کردن پردازنده Intel Core i7-3770K با فرکانس 4.5 گیگاهرتز، چه سودی در زمان تبدیل خواهد داشت. اگر فرض کنیم که در حالت عادی، تمام هسته‌های پردازنده در هنگام تبدیل بارگذاری می‌شوند و در حالت Turbo Boost با فرکانس 3.7 گیگاهرتز کار می‌کنند، افزایش فرکانس به 4.5 گیگاهرتز معادل 22 درصد اورکلاک است.

روی انجیر شکل 4-6 نتایج تبدیل سه ویدیوی آزمایشی را هنگام اورکلاک کردن پردازنده در حالت های با و بدون GPU نشان می دهد. در این حالت، استفاده از یک پردازنده گرافیکی به شما امکان می دهد در زمان تبدیل به سود خود برسید.

برای Xilisoft Video Converter Ultimate 7.7.2، هنگام استفاده از GPU، زمان تبدیل به ترتیب برای ویدیوهای اول، دوم و سوم به ترتیب 15٪، 9٪ و 20٪ کاهش می یابد.

برای Wondershare Video Converter Ultimate 6.0.32، استفاده از GPU می تواند زمان تبدیل را به ترتیب 10٪، 10٪ و 20٪ برای ویدیوی اول، دوم و سوم کاهش دهد.

برای Movavi Video Converter 10.2.1، استفاده از GPU می تواند زمان تبدیل را به ترتیب 59٪، 81٪ و 40٪ کاهش دهد.

طبیعتاً جالب است که ببینیم چگونه اورکلاک پردازنده می تواند زمان تبدیل با و بدون GPU را کاهش دهد.

روی انجیر در شکل 7-9 نتایج مقایسه زمان تبدیل ویدیو بدون استفاده از GPU در حالت عادی پردازنده و در حالت اورکلاک نشان داده شده است. از آنجایی که در این حالت تبدیل تنها با استفاده از CPU بدون محاسبات GPU انجام می شود، بدیهی است که افزایش سرعت ساعت پردازنده منجر به کاهش زمان تبدیل (افزایش سرعت تبدیل) می شود. به همان اندازه بدیهی است که کاهش سرعت تبدیل باید برای همه ویدیوهای آزمایشی تقریباً یکسان باشد. بنابراین، برای مبدل ویدیویی Xilisoft Video Converter Ultimate 7.7.2، هنگام اورکلاک کردن پردازنده، زمان تبدیل برای ویدیوهای اول، دوم و سوم به ترتیب 9، 11 و 9 درصد کاهش می یابد. برای Wondershare Video Converter Ultimate 6.0.32، زمان تبدیل برای ویدیوی اول، دوم و سوم به ترتیب 9٪، 9٪ و 10٪ کاهش می یابد. خوب، برای مبدل ویدیویی Movavi Video Converter 10.2.1، زمان تبدیل به ترتیب 13، 12 و 12 درصد کاهش می یابد.

بنابراین، زمانی که پردازنده 20 درصد اورکلاک می شود، زمان تبدیل حدود 10 درصد کاهش می یابد.

بیایید زمان تبدیل ویدیو را با استفاده از GPU در حالت عادی پردازنده و در حالت اورکلاک مقایسه کنیم (شکل 10-12).

برای مبدل ویدیویی Xilisoft Video Converter Ultimate 7.7.2، هنگام اورکلاک پردازنده، زمان تبدیل برای ویدیوی اول، دوم و سوم به ترتیب 10، 10 و 9 درصد کاهش می یابد. برای Wondershare Video Converter Ultimate 6.0.32، زمان تبدیل برای ویدیوهای اول، دوم و سوم به ترتیب 9٪، 6٪ و 5٪ کاهش می یابد. خوب، برای مبدل ویدیویی Movavi Video Converter 10.2.1، زمان تبدیل به ترتیب 0.2، 10 و 10 درصد کاهش می یابد.

همانطور که می بینید، برای مبدل های Xilisoft Video Converter Ultimate 7.7.2 و Wondershare Video Converter Ultimate 6.0.32، کاهش زمان تبدیل در هنگام اورکلاک پردازنده تقریباً با و بدون GPU یکسان است که منطقی است، زیرا این مبدل ها از محاسبات GPU بسیار کارآمد استفاده نکنید. اما برای Movavi Video Converter 10.2.1 که به طور موثر از محاسبات GPU استفاده می کند، اورکلاک کردن پردازنده در حالت محاسبات GPU تأثیر کمی در کاهش زمان تبدیل دارد که این نیز قابل درک است، زیرا در این حالت بار اصلی بر روی GPU می افتد.

حالا بیایید نتایج تست را با کارت های ویدئویی مختلف ببینیم.

به نظر می رسد که هر چه کارت گرافیک قدرتمندتر باشد و پردازنده گرافیکی آن بیشتر باشد هسته های CUDA(یا پردازنده‌های جریان جهانی برای کارت‌های ویدئویی AMD)، هنگام استفاده از یک GPU، تبدیل ویدیوی کارآمدتر باید باشد. اما در عمل اینطور کار نمی کند.

در مورد کارت های ویدئویی مبتنی بر پردازنده های گرافیکی NVIDIA، وضعیت به شرح زیر است. هنگام استفاده از Xilisoft Video Converter Ultimate 7.7.2 و Wondershare Video Converter Ultimate 6.0.32، زمان تبدیل عملاً به نوع کارت گرافیک مورد استفاده بستگی ندارد. یعنی برای کارت های گرافیک NVIDIA GeForce GTX 660Ti، NVIDIA GeForce GTX 460 و NVIDIA GeForce GTX 280 در حالت محاسبات GPU، زمان تبدیل یکسان است (شکل 13-15).

برنج. 1. نتایج تبدیل اول
تست ویدیو در حالت عادی
کار پردازنده

کارت های گرافیک پردازنده در حالت استفاده از GPU

برنج. 14. نتایج مقایسه زمان تبدیل فیلم دوم

برنج. 15. نتایج مقایسه زمان تبدیل ویدیو سوم
در کارت های گرافیک مختلف در حالت استفاده از GPU

این را فقط می توان با این واقعیت توضیح داد که الگوریتم محاسبه GPU پیاده سازی شده در Xilisoft Video Converter Ultimate 7.7.2 و Wondershare Video Converter Ultimate 6.0.32 به سادگی ناکارآمد است و به شما اجازه نمی دهد که به طور فعال از همه استفاده کنید. هسته های گرافیکی. به هر حال، این واقعیت را توضیح می دهد که برای این مبدل ها تفاوت زمان تبدیل در حالت های GPU و غیر GPU اندک است.

در Movavi Video Converter 10.2.1 وضعیت تا حدودی متفاوت است. همانطور که به یاد داریم، این مبدل قادر است از محاسبات GPU بسیار کارآمد استفاده کند و بنابراین، در حالت GPU، زمان تبدیل به نوع کارت گرافیک مورد استفاده بستگی دارد.

اما با کارت گرافیک AMD Radeon HD 6850 همه چیز طبق معمول است. یا درایور کارت گرافیک "منحنی" یا الگوریتم های پیاده سازی شده در مبدل ها نیاز به بهبود جدی دارند، اما در مورد محاسبات GPU، نتایج یا بهبود نمی یابند یا بدتر می شوند.

به طور دقیق تر، وضعیت به شرح زیر است. برای Xilisoft Video Converter Ultimate 7.7.2، هنگام استفاده از GPU برای تبدیل اولین ویدیوی آزمایشی، زمان تبدیل 43٪ افزایش می یابد، در حالی که تبدیل ویدیوی دوم - 66٪.

علاوه بر این، Xilisoft Video Converter Ultimate 7.7.2 نیز با نتایج ناپایدار مشخص می شود. اسپرد در زمان تبدیل می تواند به 40٪ برسد! به همین دلیل تمام تست ها را ده بار تکرار کردیم و میانگین نتیجه را محاسبه کردیم.

اما برای Wondershare Video Converter Ultimate 6.0.32 و Movavi Video Converter 10.2.1، هنگام استفاده از GPU برای تبدیل هر سه ویدیو، زمان تبدیل به هیچ وجه تغییر نمی کند! به احتمال زیاد Wondershare Video Converter Ultimate 6.0.32 و Movavi Video Converter 10.2.1 یا از فناوری AMD APP در هنگام تبدیل استفاده نمی کنند یا درایور ویدیوی AMD به سادگی "کج" است و در نتیجه فناوری AMD APP کار نمی کند.

نتیجه گیری

بر اساس آزمایش های انجام شده می توان نتایج مهم زیر را به دست آورد. مبدل های ویدیویی مدرن واقعاً می توانند از فناوری محاسبات GPU استفاده کنند که می تواند سرعت تبدیل را افزایش دهد. با این حال، این به هیچ وجه به این معنی نیست که تمام محاسبات به طور کامل به GPU منتقل می شود و CPU بیکار می ماند. همانطور که آزمایش نشان می‌دهد، هنگام استفاده از فناوری GPGPU، پردازنده مرکزی بارگذاری می‌شود، به این معنی که استفاده از پردازنده‌های مرکزی قدرتمند و چند هسته‌ای در سیستم‌هایی که برای تبدیل ویدیو استفاده می‌شوند مرتبط باقی می‌ماند. استثناء این قاعده، فناوری AMD APP در پردازنده‌های گرافیکی AMD است. به عنوان مثال، هنگام استفاده از Xilisoft Video Converter Ultimate 7.7.2 با فعال کردن فناوری AMD APP، بار CPU در واقع کاهش می یابد، اما این منجر به این واقعیت می شود که زمان تبدیل کاهش نمی یابد، بلکه برعکس، افزایش می یابد.

به طور کلی، اگر ما در مورد تبدیل ویدیو از استفاده اضافیپردازنده گرافیکی، برای حل این مشکل توصیه می شود از کارت های ویدئویی با پردازنده های گرافیکی NVIDIA استفاده کنید. همانطور که تمرین نشان می دهد، تنها در این مورد می توان به افزایش سرعت تبدیل دست یافت. و باید به خاطر داشته باشید که افزایش واقعی سرعت تبدیل به عوامل زیادی بستگی دارد. اینها فرمت های ویدیوی ورودی و خروجی و البته خود مبدل ویدیو هستند. Xilisoft Video Converter Ultimate 7.7.2 و Wondershare Video Converter Ultimate 6.0.32 برای این کار مناسب نیستند، اما مبدل و Movavi Video Converter 10.2.1 قادر به استفاده بسیار مؤثر از GPUهای NVIDIA هستند.

در مورد کارت‌های ویدیویی مبتنی بر پردازنده‌های گرافیکی AMD، اصلاً نباید از آنها برای کارهای تبدیل ویدیو استفاده شود. در بهترین حالت، این هیچ افزایشی در سرعت تبدیل ایجاد نمی کند و در بدترین حالت، می توانید کاهش آن را داشته باشید.

محاسبات GPU

فناوری CUDA (معماری یکپارچه دستگاه محاسبه) یک معماری نرم‌افزاری و سخت‌افزاری است که امکان محاسبات با استفاده از پردازنده‌های گرافیکی NVIDIA را فراهم می‌کند که از فناوری GPGPU (محاسبات خودسرانه روی کارت‌های ویدیویی) پشتیبانی می‌کنند. معماری CUDA اولین بار با عرضه تراشه نسل هشتم NVIDIA - G80 در بازار ظاهر شد و در تمام سری های بعدی تراشه های گرافیکی که در خانواده شتاب دهنده های GeForce، ION، Quadro و Tesla استفاده می شوند، وجود دارد.

CUDA SDK به برنامه‌نویسان اجازه می‌دهد تا الگوریتم‌هایی را که می‌توانند بر روی پردازنده‌های گرافیکی NVIDIA اجرا شوند و شامل توابع ویژه در متن برنامه C هستند، به گویش ساده‌شده خاص زبان برنامه‌نویسی C پیاده‌سازی کنند. CUDA به توسعه دهنده این فرصت را می دهد تا به صلاحدید خود دسترسی به مجموعه دستورالعمل های شتاب دهنده گرافیکی را سازماندهی کند و حافظه آن را مدیریت کند، محاسبات موازی پیچیده را بر روی آن سازماندهی کند.

داستان

در سال 2003، اینتل و AMD در یک رقابت مشترک برای قدرتمندترین پردازنده بودند. در طول سال ها، سرعت ساعت به طور قابل توجهی در نتیجه این مسابقه افزایش یافته است، به خصوص پس از عرضه Intel Pentium 4.

پس از افزایش فرکانس های ساعت (بین سال های 2001 تا 2003، فرکانس ساعت پنتیوم 4 از 1.5 به 3 گیگاهرتز دو برابر شد) و کاربران مجبور بودند به دهم گیگاهرتز که سازندگان به بازار آورده بودند (از سال 2003 تا 2005، ساعت) راضی باشند. فرکانس ها 3 به 3.8 گیگاهرتز افزایش یافت).

معماری‌های بهینه‌سازی شده برای سرعت‌های ساعت بالا، مانند پرسکات، نیز مشکلاتی را تجربه کردند و نه تنها در تولید. تولیدکنندگان تراشه در غلبه بر قوانین فیزیک با چالش هایی مواجه شده اند. برخی از تحلیلگران حتی پیش بینی کردند که قانون مور از کار خواهد افتاد. ولی آن اتفاق نیفتاد. معنای اصلی قانون اغلب اشتباه ارائه می شود، اما به تعداد ترانزیستورهای روی سطح یک هسته سیلیکونی اشاره دارد. برای مدت طولانیافزایش تعداد ترانزیستورها در CPU با افزایش عملکرد مربوطه همراه بود - که منجر به تحریف معنی شد. اما بعد اوضاع پیچیده تر شد. طراحان معماری CPU به قانون کاهش بهره نزدیک شدند: تعداد ترانزیستورهایی که برای افزایش عملکرد مطلوب باید اضافه شوند، بیشتر و بیشتر شد و به بن بست منجر شد.

دلیل اینکه سازندگان GPU با این مشکل مواجه نشده اند بسیار ساده است: CPU ها برای دریافت بهترین عملکرد در جریانی از دستورالعمل ها طراحی شده اند که داده های مختلف (اعم از اعداد صحیح و اعداد ممیز شناور) را پردازش می کنند، دسترسی تصادفی به حافظه را انجام می دهند و غیره. تا به حال، توسعه‌دهندگان تلاش کرده‌اند تا موازی‌سازی دستورالعمل‌ها را بیشتر کنند - یعنی تا آنجا که ممکن است دستورالعمل‌ها را به صورت موازی اجرا کنند. بنابراین، برای مثال، اجرای superscalar با Pentium ظاهر شد، زمانی که تحت شرایط خاصی امکان اجرای دو دستورالعمل در هر ساعت وجود داشت. پنتیوم پرو دستورات غیرقابل سفارشی را دریافت کرد که امکان بهینه سازی عملکرد واحدهای محاسباتی را فراهم کرد. مشکل این است که اجرای موازی یک جریان متوالی دستورالعمل ها دارای محدودیت های آشکاری است، بنابراین افزایش کورکورانه تعداد واحدهای محاسباتی سودی به همراه ندارد، زیرا در بیشتر مواقع آنها همچنان بیکار خواهند بود.

عملکرد GPU نسبتا ساده است. این شامل گرفتن گروهی از چند ضلعی ها در یک طرف و تولید گروهی از پیکسل ها در طرف دیگر است. چند ضلعی ها و پیکسل ها مستقل از یکدیگر هستند، بنابراین می توان آنها را به صورت موازی پردازش کرد. بنابراین، در پردازنده گرافیکی، می توان بخش بزرگی از کریستال را برای واحدهای محاسباتی اختصاص داد که بر خلاف CPU، در واقع از آن استفاده خواهد شد.

GPU نه تنها در این مورد با CPU متفاوت است. دسترسی به حافظه در GPU بسیار همراه است - اگر یک تکل خوانده شود، پس از چند چرخه، تکسل مجاور خوانده می شود. وقتی یک پیکسل نوشته می شود، پیکسل همسایه بعد از چند چرخه نوشته می شود. با سازماندهی هوشمندانه حافظه، می توانید عملکردی نزدیک به نظری داشته باشید پهنای باند. این بدان معنی است که پردازنده گرافیکی، بر خلاف CPU، به حافظه پنهان بزرگ نیاز ندارد، زیرا نقش آن سرعت بخشیدن به عملیات بافت است. تنها چیزی که لازم است چند کیلوبایت حاوی چند تکل است که در فیلترهای دو خطی و سه خطی استفاده می شود.

اولین محاسبات روی پردازنده گرافیکی

اولین تلاش ها برای چنین برنامه ای محدود به استفاده از برخی ویژگی های سخت افزاری مانند شطرنجی سازی و Z-buffering بود. اما در قرن حاضر، با ظهور شیدرها، آنها شروع به سرعت بخشیدن به محاسبه ماتریس ها کردند. در سال 2003، بخش جداگانه ای برای محاسبات GPU به SIGGRAPH اختصاص یافت و GPGPU (محاسبات با هدف عمومی در GPU) نام گرفت.

شناخته شده ترین BrookGPU کامپایلر زبان برنامه نویسی Brook stream است که برای انجام محاسبات غیر گرافیکی بر روی GPU طراحی شده است. قبل از ظهور، توسعه دهندگانی که از قابلیت های تراشه های ویدئویی برای محاسبات استفاده می کردند، یکی از دو API رایج را انتخاب می کردند: Direct3D یا OpenGL. این به طور جدی استفاده از GPU را محدود کرد، زیرا گرافیک های سه بعدی از سایه بان ها و بافت هایی استفاده می کنند که برنامه نویسان موازی نیازی به دانستن در مورد آنها ندارند، آنها از رشته ها و هسته ها استفاده می کنند. بروک توانست به آسان‌تر کردن کار آنها کمک کند. این پسوندهای پخش جریانی به زبان C، که در دانشگاه استنفورد توسعه یافتند، API 3D را از برنامه نویسان مخفی کردند و تراشه ویدیویی را به عنوان یک پردازشگر موازی ارائه کردند. کامپایلر یک فایل .br را با کد و پسوندهای C++ تجزیه کرد و کدی را تولید کرد که به یک کتابخانه دارای DirectX، OpenGL یا x86 متصل است.

ظهور Brook علاقه NVIDIA و ATI را برانگیخت و بخش جدیدی از آن را باز کرد - رایانه های موازی مبتنی بر تراشه های ویدیویی.

علاوه بر این، برخی از محققان پروژه بروک به تیم توسعه NVIDIA رفتند تا یک استراتژی محاسباتی موازی سخت‌افزار-نرم‌افزار را معرفی کنند و سهم جدیدی از بازار را باز کنند. و مزیت اصلی این ابتکار NVIDIA این بود که توسعه دهندگان تمام قابلیت های GPU های خود را تا ریزترین جزئیات کاملاً می دانند و نیازی به استفاده از API گرافیکی نیست و می توانید مستقیماً با استفاده از درایور با سخت افزار کار کنید. حاصل تلاش این تیم NVIDIA CUDA است.

زمینه های کاربرد محاسبات موازی در GPU

هنگامی که محاسبات به GPU منتقل می شود، در بسیاری از کارها شتاب 5-30 برابر در مقایسه با پردازنده های همه منظوره سریع به دست می آید. بیشترین اعداد (از مرتبه افزایش سرعت 100 برابر و حتی بیشتر!) روی کدهایی به دست می‌آیند که برای محاسبات با استفاده از بلوک‌های SSE چندان مناسب نیستند، اما برای GPU کاملاً مناسب هستند.

اینها فقط چند نمونه از افزایش سرعت کد مصنوعی در GPU در مقابل کد SSE بردار روی CPU هستند (طبق گفته NVIDIA):

میکروسکوپ فلورسانس: 12x.

دینامیک مولکولی (کالک نیروی غیر پیوندی): 8-16x.

الکترواستاتیک (جمع کولن مستقیم و چند سطحی): 40-120x و 7x.

جدولی که انویدیا در تمام ارائه ها نشان می دهد که سرعت GPU ها را نسبت به CPU نشان می دهد.

فهرست کاربردهای عمده ای که محاسبات GPU در آنها استفاده می شود: تجزیه و تحلیل و پردازش تصویر و سیگنال، شبیه سازی فیزیک، ریاضیات محاسباتی، زیست شناسی محاسباتی، محاسبات مالی، پایگاه های داده، دینامیک گاز و مایعات، رمزنگاری، پرتودرمانی تطبیقی، نجوم، پردازش صدا، بیوانفورماتیک، شبیه سازی بیولوژیکی، بینایی کامپیوتری، داده کاوی، سینما و تلویزیون دیجیتال، شبیه سازی الکترومغناطیسی، سیستم های اطلاعات جغرافیایی، برنامه های نظامی، برنامه ریزی معدن، دینامیک مولکولی، تصویربرداری تشدید مغناطیسی (MRI)، شبکه های عصبی، تحقیقات اقیانوس شناسی، فیزیک ذرات، شبیه سازی تاشو پروتئین، شیمی کوانتومی، ردیابی پرتو، تجسم، رادار، شبیه سازی مخزن، هوش مصنوعی، تجزیه و تحلیل داده های ماهواره ای، اکتشاف لرزه ای، جراحی، سونوگرافی، ویدئو کنفرانس.

مزایا و محدودیت های CUDA

از دیدگاه یک برنامه نویس، خط لوله گرافیکی مجموعه ای از مراحل پردازش است. بلوک هندسی مثلث ها را تولید می کند و بلوک شطرنجی پیکسل های نمایش داده شده روی مانیتور را تولید می کند. مدل سنتی برنامه نویسی GPGPU به شرح زیر است:

برای انتقال محاسبات به GPU در چارچوب چنین مدلی، رویکرد خاصی مورد نیاز است. حتی افزودن عنصر به عنصر دو بردار مستلزم ترسیم شکل روی صفحه یا بافر خارج از صفحه است. شکل شطرنجی شده است، رنگ هر پیکسل با توجه به یک برنامه مشخص (پیکسل سایه زن) محاسبه می شود. این برنامه داده های ورودی را از بافت ها برای هر پیکسل می خواند، آنها را جمع می کند و در بافر خروجی می نویسد. و همه این عملیات های متعدد برای آنچه در یک اپراتور در یک زبان برنامه نویسی معمولی نوشته شده است مورد نیاز است!

بنابراین، استفاده از GPGPU برای محاسبات با هدف عمومی دارای محدودیتی به شکل پیچیدگی بیش از حد برای توسعه دهندگان برای یادگیری است. بله، و محدودیت های دیگر نیز به اندازه کافی وجود دارد، زیرا سایه زن پیکسل فقط فرمولی برای وابستگی رنگ نهایی یک پیکسل به مختصات آن است و زبان سایه زن پیکسل زبانی برای نوشتن این فرمول ها با نحوی شبیه به C است. روش های اولیه GPGPU یک ترفند هوشمندانه برای مهار قدرت GPU است، اما بدون هیچ گونه راحتی. داده ها در آنجا با تصاویر (بافت ها) و الگوریتم با فرآیند شطرنجی نمایش داده می شوند. لازم به ذکر است که یک مدل بسیار خاص از حافظه و اجرا.

معماری سخت‌افزار و نرم‌افزار NVIDIA برای محاسبات بر روی پردازنده‌های گرافیکی از NVIDIA با مدل‌های قبلی GPGPU متفاوت است، زیرا امکان نوشتن برنامه‌های GPU را به زبان C واقعی با نحو استاندارد، اشاره‌گرها و نیاز به حداقل پسوندها برای دسترسی به منابع محاسباتی تراشه‌های ویدئویی فراهم می‌کند. CUDA به API های گرافیکی وابسته نیست و دارای برخی ویژگی ها است که به طور خاص برای محاسبات با هدف عمومی طراحی شده اند.

مزایای CUDA نسبت به رویکرد سنتی برای محاسبات GPGPU

CUDA دسترسی به 16 کیلوبایت حافظه مشترک در هر چند پردازنده را فراهم می کند، که می تواند برای سازماندهی کش با پهنای باند بالاتر از واکشی بافت استفاده شود.

انتقال کارآمدتر داده بین سیستم و حافظه ویدئویی؛

بدون نیاز به APIهای گرافیکی با افزونگی و سربار.

آدرس دهی خطی حافظه، جمع آوری و پراکندگی، توانایی نوشتن در آدرس های دلخواه.

پشتیبانی سخت افزاری برای عملیات اعداد صحیح و بیتی.

محدودیت های اصلی CUDA:

عدم پشتیبانی بازگشتی برای توابع اجرایی؛

حداقل عرض بلوک 32 رشته است.

معماری بسته CUDA متعلق به NVIDIA.

نقاط ضعف برنامه‌نویسی با روش‌های قبلی GPGPU این است که این روش‌ها از واحدهای اجرای سایه‌زن راس در معماری‌های غیر یکپارچه قبلی استفاده نمی‌کنند، داده‌ها در بافت‌ها و خروجی‌ها در بافر خارج از صفحه ذخیره می‌شوند و الگوریتم‌های چند پاس از واحدهای سایه‌زن پیکسل استفاده می‌کنند. محدودیت‌های GPGPU عبارتند از: استفاده ناکافی از قابلیت‌های سخت‌افزار، محدودیت‌های پهنای باند حافظه، عدم عملیات پراکندگی (فقط جمع‌آوری)، استفاده اجباری از API گرافیکی.

مزایای اصلی CUDA نسبت به روش‌های قبلی GPGPU از این واقعیت ناشی می‌شود که این معماری برای استفاده مؤثر از محاسبات غیر گرافیکی بر روی GPU طراحی شده است و از زبان برنامه‌نویسی C بدون نیاز به انتقال الگوریتم‌ها به شکلی مناسب برای مفهوم گرافیک استفاده می‌کند. خط لوله CUDA ارائه می دهد مسیر جدیدمحاسبات GPU که از APIهای گرافیکی استفاده نمی کند و دسترسی تصادفی به حافظه (پراکنده یا جمع آوری) ارائه می دهد. چنین معماری عاری از معایب GPGPU است و از تمام واحدهای اجرایی استفاده می کند و همچنین قابلیت ها را از طریق ریاضیات اعداد صحیح و عملیات bit shift گسترش می دهد.

CUDA برخی از ویژگی‌های سخت‌افزاری را که از APIهای گرافیکی در دسترس نیستند، مانند حافظه مشترک باز می‌کند. این مقدار کمی از حافظه (16 کیلوبایت در هر چند پردازنده) است که بلوک های رشته ها به آن دسترسی دارند. این به شما امکان می دهد تا داده هایی را که اغلب به آنها دسترسی دارید ذخیره کنید و می تواند اطلاعات بیشتری را ارائه دهد سرعت بالا، در مقایسه با استفاده از واکشی بافت برای این کار. این، به نوبه خود، حساسیت توان عملیاتی الگوریتم های موازی را در بسیاری از برنامه ها کاهش می دهد. به عنوان مثال، برای جبر خطی، تبدیل فوریه سریع و فیلترهای پردازش تصویر مفید است.

در CUDA و دسترسی به حافظه راحت تر است. کد برنامهدر API گرافیکی، داده ها را در قالب 32 مقدار نقطه شناور تک دقیق (مقادیر RGBA به طور همزمان در هشت هدف رندر) در مناطق از پیش تعریف شده خروجی می دهد و CUDA از ضبط پراکنده پشتیبانی می کند - تعداد نامحدودی رکورد در هر آدرس. . چنین مزایایی امکان اجرای برخی از الگوریتم‌ها را بر روی GPU فراهم می‌کند که با استفاده از روش‌های GPGPU مبتنی بر API گرافیکی نمی‌توان آنها را به طور موثر پیاده‌سازی کرد.

همچنین، API های گرافیکی باید داده ها را در بافت ها ذخیره کنند، که نیاز به بسته بندی قبلی آرایه های بزرگ در بافت ها دارد، که الگوریتم را پیچیده می کند و استفاده از آدرس دهی ویژه را مجبور می کند. و CUDA به شما امکان می دهد داده ها را در هر آدرسی بخوانید. یکی بیشتر مزیت CUDAیک تبادل اطلاعات بهینه بین CPU و GPU است. و برای توسعه دهندگانی که می خواهند به سطح پایین (مثلاً هنگام نوشتن یک زبان برنامه نویسی دیگر) دسترسی داشته باشند، CUDA امکان برنامه نویسی به زبان اسمبلی سطح پایین را ارائه می دهد.

معایب CUDA

یکی از معدود معایب CUDA قابلیت حمل ضعیف آن است. این معماری فقط روی تراشه‌های ویدیویی این شرکت کار می‌کند و نه روی همه آن‌ها، بلکه از سری‌های GeForce 8 و 9 و Quadro، ION و Tesla مربوطه شروع می‌شود. انویدیا 90 میلیون تراشه ویدئویی سازگار با CUDA را ارائه می دهد.

جایگزین های CUDA

چارچوبی برای نوشتن برنامه های کامپیوتریمرتبط با محاسبات موازی بر روی پردازنده های گرافیکی و مرکزی مختلف. چارچوب OpenCL شامل یک زبان برنامه نویسی مبتنی بر استاندارد C99 و یک رابط برنامه نویسی کاربردی (API) است. OpenCL موازی سازی در سطح دستورالعمل و سطح داده را ارائه می دهد و پیاده سازی تکنیک GPGPU است. OpenCL یک استاندارد کاملا باز است و هیچ هزینه مجوزی برای استفاده از آن وجود ندارد.

هدف OpenCL تکمیل OpenGL و OpenAL است که استانداردهای صنعت باز برای سه بعدی هستند گرافیک کامپیوتریو صدا، با استفاده از قابلیت های GPU. OpenCL توسط گروه Khronos، یک کنسرسیوم غیرانتفاعی که شامل بسیاری از شرکت‌های بزرگ از جمله Apple، AMD، Intel، nVidia، Sun Microsystems، Sony Computer Entertainment و دیگران است، توسعه و نگهداری می‌شود.

CAL/IL (لایه انتزاعی محاسبه/زبان متوسط)

ATI Stream Technology مجموعه ای از سخت افزار و فناوری های نرم افزاری، که امکان استفاده از گرافیک را فراهم می کند پردازنده های AMD، با هم واحد پردازش مرکزی، برای سرعت بخشیدن به بسیاری از برنامه ها (نه فقط گرافیک).

برنامه‌های کاربردی برای ATI Stream از نظر محاسباتی برنامه‌هایی مانند تحلیل مالی یا پردازش داده‌های لرزه‌ای هستند. استفاده پردازنده جریانیافزایش سرعت برخی از محاسبات مالی را تا 55 برابر در مقایسه با حل همان مشکل تنها با استفاده از پردازنده مرکزی ممکن کرد.

انویدیا فناوری ATI Stream را رقیب بسیار قدرتمندی نمی داند. CUDA و Stream دو فناوری متفاوت هستند که در سطوح مختلف توسعه قرار دارند. برنامه نویسی برای محصولات ATI بسیار دشوارتر است - زبان آنها بیشتر شبیه یک اسمبلر است. از طرف دیگر، CUDA C یک زبان سطح بسیار بالاتر است. نوشتن روی آن راحت تر و راحت تر است. برای شرکت های توسعه بزرگ، این بسیار مهم است. اگر در مورد عملکرد صحبت کنیم، می بینیم که اوج ارزش آن در محصولات ATI بیشتر از راه حل های NVIDIA است. اما باز هم همه چیز به نحوه بدست آوردن این قدرت بستگی دارد.

DirectX11 (DirectCompute)

یک رابط برنامه‌نویسی کاربردی که بخشی از DirectX است، مجموعه‌ای از APIهای مایکروسافت که برای اجرا بر روی رایانه‌های سازگار با رایانه شخصی IBM که سیستم‌عامل‌های خانواده مایکروسافت ویندوز را اجرا می‌کنند، طراحی شده است. DirectCompute برای انجام محاسبات با هدف کلی بر روی GPU ها طراحی شده است که اجرای مفهوم GPGPU است. DirectCompute در ابتدا به عنوان بخشی از DirectX 11 منتشر شد، اما بعداً برای DirectX 10 و DirectX 10.1 نیز در دسترس قرار گرفت.

NVDIA CUDA در جامعه علمی روسیه.

از دسامبر 2009، مدل برنامه نویسی CUDA در 269 دانشگاه در سراسر جهان تدریس می شود. در روسیه، دوره های آموزشی CUDA در دانشگاه های دولتی مسکو، سنت پترزبورگ، کازان، نووسیبیرسک و پرم، دانشگاه بین المللی طبیعت جامعه و انسان "دوبنا"، موسسه مشترک تحقیقات هسته ای، موسسه الکترونیک مسکو تدریس می شود. فناوری، دانشگاه مهندسی برق دولتی ایوانوو، BSTU. V. G. Shukhova، MSTU im. باومن، RKhTU im. مندلیف، مرکز تحقیقات روسیه "موسسه کورچاتوف"، مرکز بین منطقه ای ابر رایانه آکادمی علوم روسیه، موسسه فناوری تاگانروگ (TTI SFedU).