توضیح ساده فناوری یا تکنولوژی های انویدیا NVIDIA Technologys
فناوری یا تکنولوژی های انویدیا یک مطلب کوتاه برای توضیح ساده و مختصر از یک فناوری در محصولات انویدیا است. در این مطلب قصد داریم نکات ساده و روان هر فناوری را به کوتاهی توضیح دهیم تا سرنخی باشد برای مشتاقان و دوست داران به درک عمیق تر مفاهیم کارکرد سخت افزار در محصولات انویدیا. اگر مقاله ای که مربوط به اینجاست، از سادگی و کوتاهی ذاتی برخوردار نباشد، و نتوانیم آن را در یک پاراگراف به شکل واضح توضیح دهیم، آن را در بخش مقالات بلاگ با درخواست شما، به تفصیل توضیح خواهیم داد. کافی است آن را در پایین همین صفحه برای ما بنویسید. به قولی “شما یک تکنولوژی اسم ببر، تا ما مقاله بنویسیم”.
مواردی که در این مطلب می خوانیم:
تکنولوژی های گرافیکی :
تکنولوژی های دیتاسنتر :
تکنولوژی های شبکه :
GPGPU
محاسبات همه منظوره بر روی واحدهای پردازش گرافیکی / General-purpose computing on graphics processing units (GPGPU یا کوچکتر GPGP) استفاده از واحد پردازش گرافیکی (GPU) است که معمولاً محاسبات را فقط برای گرافیک رایانه ای انجام می دهد تا در برنامه هایی که به طور سنتی توسط واحد پردازش مرکزی (CPU) محاسبات انجام می شود با (GPU) انجام شود. استفاده از چند کارت گرافیک در یک کامپیوتر، یا تعداد زیادی تراشه گرافیکی، ماهیت موازی پردازش گرافیکی را بیشتر موازی می کند.
اساساً خط لوله (GPGPU) نوعی پردازش موازی بین یک یا چند (GPU) و (CPU) است که دادهها را به شکل تصویر یا سایر اشکال گرافیکی تجزیه و تحلیل میکند. در حالی که پردازندههای گرافیکی در فرکانسهای پایینتری کار میکنند، معمولاً تعداد هستههای آنها چند برابر است. بنابراین، پردازندههای گرافیکی میتوانند تصاویر و دادههای گرافیکی بسیار بیشتری را در هر ثانیه نسبت به یک CPU سنتی پردازش کنند. در نهایت انتقال داده ها به شکل گرافیکی و سپس استفاده از (GPU) برای اسکن و تجزیه و تحلیل آنها می تواند سرعت زیادی ایجاد کند.
خطوط لوله (GPGPU) در ابتدای قرن بیست و یکم برای پردازش گرافیکی (به عنوان مثال برای سایه زن های بهتر) توسعه یافتند. مشخص شد که این خطوط لوله به خوبی با نیازهای محاسباتی علمی مطابقت دارند و از آن زمان در این جهت توسعه پیدا کردند.
کودا / CUDA
کودا (به انگلیسی: CUDA) (به انگلیسی: Compute Unified Device Architecture) (به فارسی: معماری محاسبه یکپارچه دستگاه) یک پلت فرم محاسباتی موازی و رابط برنامه نویسی کاربردی (API) است که به نرم افزار اجازه می دهد تا از انواع خاصی از واحد پردازش گرافیکی (GPU)، (در اینجا کارت گرافیک های شرکت انویدیا) برای پردازش با هدف کلی – رویکردی که محاسبات همه منظوره روی GPU ها (GPGPU) نامیده می شود استفاده کند که توسط Nvidia نوشته شده است. CUDA یک لایه نرم افزاری است که دسترسی مستقیم به مجموعه دستورات مجازی GPU و عناصر محاسباتی موازی را برای اجرای هسته های محاسباتی می دهد. CUDA برای کار با زبان های برنامه نویسی مانند C، C++ و Fortran طراحی شده است. این قابلیت دسترسی، برخلاف APIهای قبلی مانند Direct3D و OpenGL که به مهارتهای پیشرفته در برنامهنویسی گرافیکی نیاز داشتند، استفاده از منابع GPU را برای متخصصان برنامهنویسی موازی آسانتر میکند. پردازندههای گرافیکی مبتنی بر CUDA از چارچوبهای برنامهنویسی مانند OpenMP، OpenACC ، OpenCL و نیز HIP با کامپایل چنین کد به CUDA پشتیبانی میکنند.
تکنولوژی های گرافیکی انویدیا
-
کدگذاری ویدیو / Nvidia NVENC
Nvidia NVENC (مخفف Nvidia Encoder) یک ویژگی در کارتهای گرافیک Nvidia است که کدگذاری ویدیو را انجام میدهد و این کار محاسباتی فشرده را از CPU به بخش اختصاصی GPU بارگذاری میکند. که در سری GeForce 600 مبتنی بر معماری کپلر (Kepler) در مارس ۲۰۱۲ معرفی شد. این رمزگذار در بسیاری از برنامههای پخش زنده و ضبط، مانند vMix، Wirecast، Open Broadcaster Software (OBS) و Bandicam و همچنین برنامههای ویرایش ویدیو مانند Adobe Premiere Pro یا DaVinci Resolve پشتیبانی میشود. همچنین با Share game capture کار می کند که در نرم افزار GeForce Experience انویدیا موجود است. کارتهای گرافیک GeForce هدف مصرفکننده، بدون در نظر گرفتن تعداد کارتهای نصبشده، رسماً بیش از ۳ استریم ویدئوی رمزگذاری شده را به طور همزمان پشتیبانی نمیکنند، اما این محدودیت را میتوان در سیستمهای لینوکس و ویندوز با اعمال یک پچ غیر رسمی روی درایورها دور زد. با انجام این کار، NVIDIA Frame Buffer Capture (NVFBC)، یک API سریع ضبط دسکتاپ که از قابلیتهای GPU و درایور آن برای تسریع ضبط استفاده میکند، باز میشود. کارت های حرفه ای بسته به مدل کارت و کیفیت فشرده سازی بین ۳ جریان تا بدون محدودیت جریان همزمان در هر کارت پشتیبانی می کنند.
-
رمزگشایی ویدیو / Nvidia NVDEC
تراشههای انویدیا همچنین دارای یک رمزگشای داخلی، NVDEC (مخفف Nvidia Decoder) هستند تا رمزگشایی ویدیو را از CPU به قسمت اختصاصی GPU بارگذاری کند. Nvidia NVDEC (که قبلاً NVCUVID نام داشت) یک ویژگی در کارت های گرافیک است که رمزگشایی ویدیو را انجام می دهد و این کار محاسباتی فشرده را از CPU بارگیری می کند. NVENC برای رمزگذاری ویدیو در Video Codec SDK انویدیا همراه است. فن آوری NVDEC میتواند رمزگشایی ویدیو را به سختافزار رمزگشایی با عملکرد ثابت (Nvidia PureVideo)، یا (تا حدی) رمزگشایی از طریق نرمافزار CUDA در حال اجرا بر روی GPU، در صورتی که سختافزار با عملکرد ثابت در دسترس نباشد، بارگذاری کند. بسته به معماری GPU، کدک های زیر پشتیبانی می شوند:
MPEG-2 – VC-1 – H.264 (AVC) – H.265 (HEVC) – VP8 – VP9 – AV1
نسخه های NVCUVID در ابتدا به عنوان بخشی از Nvidia CUDA Toolkit توزیع شدند. بعداً به NVDEC تغییر نام داد و به Nvidia Video Codec SDK منتقل شد. NVDEC برای سیستم عامل های ویندوز و لینوکس در دسترس است. از آنجایی که NVDEC یک API اختصاصی است (برخلاف API منبع باز VDPAU)، تنها توسط درایور اختصاصی Nvidia در لینوکس پشتیبانی می شود. NVDEC از سال ۲۰۱۷ از اپلیکیشن و کتابخانه های Gstreamer , FFmpeg پشتیبانی می کند و mpv نیز از سال ۲۰۱۷ با استفاده از FFmpeg از NVDEC پشتیبانی می کند.
پشتیبانی از پردازنده گرافیکی: رمزگشایی و کدگذاری سریع HW در محصولات Nvidia GeForce، Quadro، Tesla و GRID با GPU های فرمی یا نسل جدیدتر پشتیبانی می شود.
نکته مهم پایانی
این یک شروع است برای شما که اگر سوالی دراید بپرسید و اگر یک فناوری برای شما قابل درک یا توصیف ساده نیست، بپرسید تا با هم به این سوالات پاسخ دهیم. هر فناوری از محصولات انویدیا را در این صفحه به مرور خواهم گفت و در گذر زمان این مقاله با کمک و درخواست های شما آپدیت خواهد شد.