<<< قسمت اول

در اینجا به ادامه مقایسه پردازنده‌های گرافیکی (GPU) NVIDIA Tesla/Quadro با NVIDIA GeForce می‌پردازیم. در بخش دوم مشخصاتی از قبیل مقایسه PCIe و NvLink، پشتیبانی از نرم افزارهای کربردی، سیستم عامل‌ها، چرخه عمر محصول، کارایی توان مصرف، موتورهای DMA و سایر مشخصات در نظر گرفته شده است.

PCI-E  در برابر  NVLink: بازدهی اتصال GPU به کامپیوتر و GPU به GPU

یکی از گلوگاه‌های بالقوه در مورد کارایی GPU انتظار برای انتقال اطلاعات به GPU است.، خصوصا زمانی که چندین پردازنده گرافیکی به طور موازی با یکدیگر کار می‌کنند. انتقال سریع داده‌ها به طور مستقیم، باعث عملکرد سریعتر برنامه می‌شود. GPUهای GeForce از طریق PCI-Express متصل می‌شوند که دارای حداکثر توان خروجی تئوری 16 گیگابایت بر ثانیه است. پردازنده‌های NVIDIA Tesla / Quadro با استفاده از NVLink قادر به اتصال بسیار سریعتر هستند. اتصال NVLink در سری “پاسکال” به هر یک از پردازنده‌های گرافیکی اجازه می‌دهد تا با سرعت 80 گیگابایت بر ثانیه (160 گیگابایت بر ثانیه در حالت دو طرفه) ارتباط برقرار کنند. اتصال NVLink 2.0 در سری “Volta” اجازه می‌دهد تا هر GPU با نرخ 150 گیگابایت بر ثانیه (300 گیگابایت بر ثانیه در حالت دوطرفه) ارتباط برقرار کند. اتصال NVLink بین GPU‌ها و همچنین بین CPUها و GPUها در پلتفورم OpenPOWER پشتیبانی می‌شود. تنها GPUهای Tesla و Quadro از NVLink پشتیبانی می‌کنند.

پشتیبانی نرم‌افزارهای کاربردی

در حالی که برخی از برنامه‌های نرم‌افزاری قادر به استفاده از توان پردازشی GPUهایی هستند که از CUDA پشتیبانی می کنند، برخی دیگر برای سری حرفه‌ای GPU طراحی و بهینه شده‌اند. بیشتر نرم‌افزارهای حرفه‌ای فقط رسما از GPUهای NVIDIA Tesla و Quadro پشتیبانی می‌کنند. استفاده از GeForce در این نرم‌افزارها ممکن است امکان پذیر باشد، اما توسط تولیدکننده نرم‌افزاری پشتیبانی نخواهد شد. در برخی موارد، اصلا نرم‌افزار روی کارتهای گرافیک GeForce اجرا نمی‌شود.

پشتیبانی سیستم‌عامل

اگر چه درایورهای GPUهای NVIDIA متنوع هستند، اما درایورهای GeForce برای سیستم‌عامل‌های ویندوز سرور وجود ندارد. پردازنده‌های گرافیکی GeForce تنها در ویندوز 7، ویندوز 8 و ویندوز 10 پشتیبانی می شوند. گروه‌هایی که از ویندوز سرور استفاده می‌کنند، باید محصولات حرفه‌ای تسلا و Quadro را انتخاب کنند. درایورهای لینوکس، از تمام پردازنده‌های گرافیکی NVIDIA پشتیبانی می‌کنند.

چرخه عمر محصول

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

کارایی توان مصرفی

پردازنده‌های گرافیکی GeForce برای استفاده در بازی‌های کامپیوتری طراحی شده‌اند و معمولا برای مصرف توان بهینه نشده‌اند. در مقابل، GPUهای Tesla برای استفاده در مقیاس بزرگ طراحی شده‌اند که در آن بهره‌وری از توان مهم است. این باعث می‌‎شود که GPUهای Tesla برای کاربردهای بزرگ مناسب باشند. به عنوان مثال، GeForce GTX Titan X برای کاربردهای یادگیری عمیق روی کامپیوترهای دسکتاپ محبوب است. در مورد سرور، پردازنده Tesla P40 دارای عملکرد تطبیق‌یافته و ظرفیت حافظه دو برابر است. با این حال، هنگامی که آنها را در کنار یکدیگر قرار می‌دهیم، تسلا انرژی کمتری مصرف می‌کند و گرمای کمتری تولید می‌کند.

موتورهای DMA

موتور دسترسی مستقیم به حافظه (DMA) در یک GPU برای انتقال سریع داده بین حافظه سیستم و حافظه گرافیکی استفاده می‌شود. از آنجا که اینگونه انتقال داده، بخشی از هر برنامه در دنیای واقعی است، عملکرد آن برای کارایی GPU حیاتی است. انتقالهای کند سبب می شود که هسته‌های پردازنده تا ورود اطلاعات به حافظه گرافیکی بیکار شوند. به همین ترتیب، بازگشت کند نتایج باعث می‌شود CPU منتظر دریافت داده از پردازنده گرافیکی بماند. محصولات GeForce دارای یک موتور DMA است که می تواند داده‌ها را در یک جهت در هر زمان انتقال دهد. اگر داده‌ها به GPU آپلود شوند، هر نتیجه‌ای که توسط GPU محاسبه می‌شود، تا تکمیل آپلود، نمی‎تواند به CPU بازگردانده شود. به همین ترتیب، بازگرداندن نتایج به دست آمده از پردازنده گرافیکی به CPU، انتقال هر داده جدیدی را که باید به GPU آپلود شود، را مسدود می کند. البته تنها یک مدل از GeForce، یعنی GeForce GTX Titan X، دارای موتورهای DMA دوگانه است. محصولات Tesla دارای دو موتور DMA برای رفع این گلوگاه هستند. داده‌ها می‌توانند همزمان به GPU وارد شوند و از GPU خارج شوند.

GPU Direct RDMA

فن آوری GPU-Direct NVIDIA اجازه می دهد تا سرعت انتقال داده‌ بین GPUها به طور قابل توجهی بهبود یابد. با استفاده از این تکنولوژی، قابلیت‌های مختلف ارائه می‌گردد که مهمترین آنها قابلیت RDMA است. به طور سنتی، ارسال اطلاعات بین GPUهای یک کلاستر، با بار 3 کپی کردن انجام می‌شود (یک بار به حافظه سیستم GPU، یک بار به حافظه سیستم CPU و یک بار به حافظه درایور InfiniBand). GPU Direct RDMA کپی به حافظه سیستم را حذف می کند و اجازه می‌دهد GPU به طور مستقیم از طریق InfiniBand به یک سیستم دیگر داده ارسال کند. در عمل، این موجب کاهش 67 درصدی تاخیر و افزایش 430 درصدی پهنای باند برای پیامهای کوچک MPI شده است. در نسخه 8 کودا، انویدیا GPU Direct RDMA ASYNC را معرفی کرده است که اجازه می‌دهد پردازنده گرافیکی بدون هیچ گونه تعامل با CPU انتقالات RDMA را انجام دهد. پردازنده‌های GeForce از  GPU-Direct RDMA پشتیبانی نمی‌کنند. هرچند فراخوان‌های MPI هنوز هم با موفقیت انجام می شوند، اما انتقال داده از طریق مسیرهای استاندارد کپی حافظه انجام می‌شود. تنها شکلی از GPU-Direct که روی کارتهای GeForce پشتیبانی می شود، GPU Direct P2P است. این اجازه انتقال سریع در یک کامپیوتر واحد را می‌دهد، اما برای برنامه‌هایی که به صورت توزیع شده روی سرورهای متعدد اجرا می شود، هیچ کمکی نمی‌کند. GPUهای Tesla به طور کامل از GPU Direct RDMA و سایر قابلیتهای دیگر GPU Direct پشتیبانی می کنند. آنها هدف اصلی این قابلیت ها هستند و بنابراین بیشترین آزمایش و استفاده در این زمینه را دارند.

Hyper-Q

Hyper-Q Proxy برای MPI وCUDA  اجازه می دهد که چندین نخ پردازشی یا چند پردازنده روی یک GPU واحد کار کنند. این ویژگی برای برنامه‌های موازی نوشته شده با MPI کارایی دارد، زیرا این کدها برای استفاده از هسته‌های پردازنده طراحی شده‌اند. فراهم آوردن امکان پذیرش کار از هر یک از پروسه‌های MPI در حال اجرا بر روی یک سیستم می تواند به افزایش قابل توجه عملکرد GPU منجر شود. همچنین می‌تواند فرایند افزودن استفاده از توان پردازشی GPU به یک برنامه موجود را تسهیل نماید. با این حال، تنها شکل Hyper-Q که در GPUهای GeForce پشتیبانی می‌شود، Hyper-Q برای CUDA Streams است. این ویژگی اجازه می‌دهد تا GeForce محاسبات موازی را از هسته‌های CPU دریافت و اجرا کند، اما برنامه‌های در حال اجرا روی چند کامپیوتر، قادر به استفاده از یک GPU نخواهند بود.

نظارت و مدیریت توانایی‌های GPU

بسیاری از پارامترهای نظارتی و قابلیت‌های مدیریت GPU (که هنگام استفاده از چندین سیستم GPU حیاتی هستند) تنها در پردازنده‌های Tesla حرفه‌ای پشتیبانی می‌شوند. ویژگی‌های نظارتی که در GPUهای GeForce پشتیبانی نمی‌شوند عبارتند از:

  • NVML / nvidia-smi برای نظارت و مدیریت وضعیت و قابلیت‌های هر GPU. این ویژگی امکان اتصال GPU به تعدادی از برنامه‌های کاربردی و ابزارهای نظارتی مانند Ganglia، Perl و Python را فراهم می‌آورد.
  • OOB (نظارت سخت‌افزاری از طریق IPMI) اجازه می‌دهد تا سیستم بر سلامت GPU نظارت کند، سرعت فن را برای خنک‌سازی مناسب دستگاه تنظیم کند و در صورت مشاهده مشکل پیغام هشدار ارسال نماید.
  • InfoROM (داده‌های دائمی برای پیکربندی و حالت) داده‌های تکمیلی برای هر GPU ارائه می‌دهد.
  • ابزار NVHealthmon برای مدیران کلاستر یک ابزار آماده برای نظارت بر وضعیت GPU فراهم می‌کند.
  • TCC اجازه می دهد که GPU ها تنها برای حالت نمایش یا تنها برای حالت پردازش تنظیم شوند.
  • ECC (تشخیص و اصلاح خطای حافظه)

ابزارهای مدیریت کلاستر از قابلیت‌های ارائه شده توسط NVIDIA NVML بهره می‌برند. تقریبا 60 درصد از این قابلیت‌ها در GeForce وجود ندارد. جدول زیر مقایسه‌ای دقیق‌تر از ویژگی‌های NVML پشتیبانی شده در GPUهای Tesla و GeForce ارائه می‌دهد:

 

FeatureTeslaGeforce
Product Nameyesyes
Show GPU Countyesyes
PCI-Express Generation (e.g., 2.0 vs 3.0)yes
PCI-Express Link Width (e.g., x4, x8, x16)yes
Current Fan Speedyesyes
Current Temperatureyesyes*
Current Performance Stateyes
Clock Throttle Statusyes
Current GPU Usage (percentage)yes
Current Memory Usage (percentage)yesyes
GPU Boost Capabilityyesyes^
ECC Error Detection/Correction Supportyes
List Retired Pagesyes
Current Power Drawyes
Set Power Draw Limityes
Current GPU Clock Speedyes
Current Memory Clock Speedyes
Show Available Clock Speedsyes
Show Available Memory Speedsyes
Set GPU Boost Speed (core clock and memory clock)yes
Show Current Compute Processesyes
Card Serial Numberyes
InfoROM image and objectsyes
Accounting Capability (resource usage per process)yes
PCI-Express IDsyesyes
NVIDIA Driver Versionyesyes
NVIDIA VBIOS Versionyesyes

GPU Boost

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

GPU Boost روی GeForce چگونه عمل می‌کند؟

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

GPU Boost روی Tesla چگونه عمل می‌کند؟

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

برای برنامه‌هایی که به کارایی بالا نیاز دارند، جدیدترین پردازنده‌های Tesla امکان Auto Boost را در گروه‌های Boost همگام در نظر گرفته شده است. با فعال شدن Auto Boost، هر گروه از GPUها سرعت ساعت را افزایش می‌دهد. اعضای هر گروه ساعت‌ها را با یکدیگر همگام سازی می کنند تا عملکرد مناسب در گروه را تضمین کنند.

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

 

0 پاسخ

دیدگاه خود را ثبت کنید

Want to join the discussion?
Feel free to contribute!

دیدگاهتان را بنویسید