در این مبحث قصد محاسبه زمان حاصل از جمع دو آرایه ی یک بعدی با طول یک میلیون با استفاده از زبان ++c را داریم.
ادامه مطلب ...
cudaError_t cudaMalloc ( void** devPtr, size_t size )
تابع فوق جهت تخصیص یک محدوده خطی از حافظه در سمت GPU با سایز خاص در واحد بایت استفاده می شود که حافظه اختصاص شده توسط Pointer برگشت داده می شود. لازم به ذکر است که این تابع علاوه بر اختصاص فضای حافظه مقدار بازگشتی نتیجه آن را نیز دارند. اگر GPU با موفقیت کار تخصیص حافظه را انجام می دهد، پیغام cudasuccess ودر غیر اینصورت cudaErrorMemoryAllocation را برگشت می دهد.
ادامه مطلب ...
راهنمای نصب CUDA در WINDOWS
مقدمه:
CUDA® یک پلت فرم محاسباتی موازی و مدل برنامه نویسی است که توسط NVIDIA طراحی شده است.
CUDA با استفاده از قدرت واحد پردازش گرافیکی (GPU) باعث افزایش چشمگیر در محاسبات شد.
CUDA با چندین هدف طراحی شده است:
‣ CUDA محاسبات ناهمگن را پشتیبانی می کند یعنی محلی که در آن برنامه ها می توانند همزمان از CPU و GPU استفاده کنند. بخش های قابل اجرا به صورت سریالی بر روی CPU و بخش های موازی بر روی GPU اجرا می شوند. CPU و GPU به عنوان دستگاه های جداگانه ای که فضای حافظه ای خودشان را دارند، مورد استفاده قرار می گیرند. این ویژگی همچنین اجازه محاسبات همزمان بر روی CPU و GPU بدون درگیری بر روی استفاده از حافظه می دهد.
GPU ها با قابلیت CUDA دارای صدها هسته هستند که می تواند هزاران تابع محاسباتی را به طور دسته جمعی اجرا کنند. این هسته ها منابع مشترک که شامل یک فایل ثباتی(register file) و یک حافظه مشترک(shared memory) است را دارا می باشند. حافظه به اشتراک گذاشته شده بر روی تراشه اجازه می دهد تا وظایف موازی بر روی این هسته ها اجرا شود، تا داده ها را بدون ارسال آن بر روی گذرگاه حافظه سیستم به اشتراک بگذارد.
ادامه مطلب ...