CUDA Programming Applications

وبلاگ آموزشی کودا

CUDA Programming Applications

وبلاگ آموزشی کودا

معماری cuda

مقدمه:
فن آوری  NVIDIA® CUDA™ بزرگترین قدرت پردازش موازی NVIDIA GPUs است.
معماری کودا یک انقلاب در معماری محاسبات موازی است که ارائه می دهد عملکرد فن آوری پردازنده
گرافیکی NVIDIA برای هدف کلی به منظور محاسبه GPU .
 
ادامه مطلب ...

ضرب دو ماتریس با cuda


ضرب ماتریس - ماتریس در GPU با  کمک Nvidia CUDA

 
ضرب ماتریس ماتریس
 
قبل از شروع، بهتر است به طور خلاصه چگونگی محاسبه ی ضرب ماتریس-ماترریس به صورت خلاصه توضیح داده شود. بگذارید بگوییم ما دو ماتریس A و B داریم. فرض کنید A یک ماتریس n × m است، به این معنی که آن دارای n ردیف و m ستون است. همچنین فرض کنید که B ماتریس m × w است. نتیجه ضرب ( A * B که متفاوت از B * A! است) یک ماتریس n × w است که ما آن را Mمی نامیم. یعنی تعداد ردیف ها در ماتریس حاصل، برابر با تعداد ردیف های ماتریس اول A و تعداد ستون ها برابر با ماتریس دوم B است.
 
ادامه مطلب ...

جمع دو ماتریس با cuda

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

  ادامه مطلب ...

جمع دوبردار با برنامه نویسی cuda و زمان گیری

در این مبحث قصد جمع دو بردار با سایز 10240 و محاسبه ی زمان آن  را  داریم.  در این جا از 10 بلاک به ترد 1024 در هربلاک  استفاده شده است.

در ادامه مطلب کد برنامه اورده شده است:

  ادامه مطلب ...

نصب کودا و ملزومات سخت افزاری و نرم افزاری

راهنمای نصب CUDA در WINDOWS


مقدمه:


CUDA® یک پلت فرم محاسباتی موازی و مدل برنامه نویسی است که توسط NVIDIA طراحی شده است.

 CUDA با استفاده از قدرت واحد پردازش گرافیکی (GPU) باعث افزایش چشمگیر در محاسبات شد.

 CUDA با چندین هدف طراحی شده است:

ارائه یک مجموعه کوچک از زبان های استاندارد برنامه نویسی،مانند C که امکان پیاده سازی ساده الگوریتم های موازی را فراهم می کنند. با استفاده از  CUDA C / C ++، برنامه نویسان می توانند به جای صرف وقت بر روی پیاده سازی کد ها تمرکز خود را بر روی موازی سازی الگوریتم ها بگذارد.

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


GPU ها با قابلیت CUDA دارای صدها هسته هستند که می تواند هزاران تابع محاسباتی را به طور دسته جمعی اجرا کنند. این هسته ها منابع مشترک که شامل یک فایل ثباتی(register file) و یک حافظه مشترک(shared memory) است را دارا می باشند. حافظه به اشتراک گذاشته شده بر روی تراشه اجازه می دهد تا وظایف موازی بر روی این هسته ها اجرا شود، تا داده ها را بدون ارسال آن بر روی گذرگاه حافظه سیستم به اشتراک بگذارد.


این راهنما به شما نحوه نصب و بررسی عملکرد صحیح ابزارهای توسعه CUDA را نشان خواهد داد.

 

ادامه مطلب ...