cudaError_t cudaMalloc ( void** devPtr, size_t size )
تابع فوق جهت تخصیص یک محدوده خطی از حافظه در سمت GPU با سایز خاص در واحد بایت استفاده می شود که حافظه اختصاص شده توسط Pointer برگشت داده می شود. لازم به ذکر است که این تابع علاوه بر اختصاص فضای حافظه مقدار بازگشتی نتیجه آن را نیز دارند. اگر GPU با موفقیت کار تخصیص حافظه را انجام می دهد، پیغام cudasuccess ودر غیر اینصورت cudaErrorMemoryAllocation را برگشت می دهد.
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include <stdio.h>
int main()
{
int *dev_a;
cudaError status;
status=cudaMalloc(&dev_a,5*sizeof(int));
if(status!=cudaSuccess)
printf("Faild.");
else
printf("Success.");
getchar();
return 0;
}
Description |
CUDA |
C++ |
C |
تخصیص حافظه |
cudamalloc |
new |
malloc |
شکل1:اجرای موفقت آمیز
شکل2:اجرای پیام شکست