موضوع مقاله: کودا | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # کودا | مقدمه: کودا به توسعه‌دهنده گان امکان دسترسی مستقیم به حافظه و مجموعه دستورالعمل در واحد پردازش گرافیکی را می‌دهد. | ## بخش 1: کودا | سکوی کودا برای کار با زبان‌های برنامه‌نویسی مانند C و ++C و فرترن طراحی شده‌است. پیش زمینه GPU به عنوان یک پردازنده خاص، درخواست‌های‌های بلادرنگ با کیفیت بالا گرافیک سه بعدی که از نظر وظایف محاسباتی فشرده هستند را مختصات‌دهی می‌کند. از سال ۲۰۱۲ میلادی GPUها به سیستم‌های چند هسته ای قدرتمندی ارتقا یافتند که قادر به دستکاری بلوک‌های بزرگی از داده‌ها هستند. این طراحی بسیار از هدف عامه CPU‌ها برای الگوریتم‌ها در مواقعی که پردازش موازی روی بلوک‌های داده انجام می‌شود مؤثرتر است. کپی اطلاعات از حافظه GPU به حافظه اصلی کودا توسط کتابخانه‌های مجهز شده کودا ،دستوردهنده کامپایلر مانند OpenACC و همین‌طور توسعه‌هایی استاندارد صنعتی از زبان‌هایی شامل C، ++C و فرترن برای توسعه‌دهندگان قابل دسترسی است. در صنعت بازی‌های کامپیوتری ،GPUها تنها برای رندر کردن گرافیک نیست بلکه در محاسبات فیزیکی بازی (اثرات فیزیکی شبیه دود، آتش، ترشحات و آوار) نیز هستند. | ## بخش 2: کودا | کودا همچنین برای کاربردهای شتاب‌دهی غیر گرافیکی در زیست‌شناسی محاسباتی ،رمزنگاری و حوزه‌های دیگر نیز استفاده می‌شود. SDK اولیه کودا در ۱۵ فوریه ۲۰۰۷ برای ویندوز مایکروسافت و لینوکس انتشار عمومی شد. پشتیبانی در سیستم‌عامل مک در نسخه دوم اضافه شد که جای نسخه تست ۱۴ فوریه ۲۰۰۸ را می‌گیرد. کودا با تمامی GPUهای از سری G8x به بعد شامل جی‌فورس ،کوادرو و تسلا (گرافیک) کار می‌کند. انویدیا می‌گوید برنامه‌هایی که برای سری G8x توسعه‌یافته‌اند همچنین بدون تغییر روی نسل‌های آینده کارت‌های گرافیک بسته به سازگاری دودویی کارخواهند کرد. مزایا کودا چندین برتری در برابر محاسبات عمومی سنتی روی GPUها (در کل منظور GPGPU) که از واسط‌های گرافیکی استفاده می‌کنند، دارد. | ## بخش 3: کودا | حافظه مجازی یکپارچه (کودا نسخه ۴٫۰ به بعد) حافظه یکپارچه (کودا نسخه ۶٫۰ به بعد) حافظه مشترک کودا ناحیه‌ای که یک حافظه سریع مشترک است، نشان می‌دهد که می‌تواند میان نخ‌ها به اشتراک گذاشته شود. این حافظه می‌تواند به عنوان یک حافظه نهان مدیریت شده تحت دسترسی کاربر استفاده شود و پهنای باند بیشتری داریم یعنی امکان استفاده را از جستجو بافتی. دانلودهای سریع تر و مجدد خوانی (بازخوانی) پشتیبانی کامل برای اعداد صحیح و عملیات بیتی، شامل جستجوی بافتی صحیح هسته های کودا (CUDA) هسته های کودا(CUDA) در کارت گرافیک ها یکی از بحث برانگیز ترین و جزو اجزای مهم و تاثیر گذار بخش اطلاعات فنی کارت های گرافیک شرکت انویدیا به شمار میرود هسته ی کودا چیزی شبیه کارت گرافیک است که مسئولیت پردازش تصاویر را بر عهده دارد با مقدار اندکی تفاوت دارای پیچیدگی معماری کمتری است اما در مقدار گسترده تری در کارت گرافیک قرار میگیرد ب طور طبیعی پردازنده های معمولی دارای 2 الی 16 هسته است اما این تعداد در هسته های کودا به عدد 100 تا میرسد که عدد قابل توجهی برای یک هسته کارت گرافیک است امروزه هسته های کارت های گرافیک مدرن و جدید به هزار یا بیشتر از آن میرسد که عدده بی نظیری محسوب میشود. کاربرد در دنیای بازی های کامپیوتری به‌صورت خلاصه به این نکته میتوان اشاره کرد که کار هسته کودا این است که در انجام کار به‌صورت موازی عمل میکنند (پردازش موازی) در صورتی که دارای دو یا چهار یا هشت هسته باشد و زمانی که پردازش به‌صورت جداگانه در هسته های متفاوت انجام میشود قسمت های مختلف تاثیر بسزایی در اجرای بازی مختلف دارد به‌صورتی که توانایی اجرای آنها را به نحوه چشمگیری افزایش دهد مخصوصا در اجرا و پردازش بازی مختلف کامپیوتری شخصیت های داستانی و ... به‌صورت مجزا در هسته ی آن اجرا و به نمایش دراورده میشود تا فعالیتی که فرد به آن مشغول است به نحوه بهتری انجام شود. | ## جمع‌بندی | GPUهای پشتیبانی شده جدول قدرت محاسبه (نسخه‌های پشتیبانی شده کودا) مرتب شده با GPU و کارت گرافیک که همچنین از طریق انویدیا مستقیماً قابل دسترسی است.