C++在ubuntu 测试CUDA代码的运行时间

cudaEvent_t

首先包含头文件:

#include<cuda_runtime.h>

然后要包含宏:

static void HandleError( cudaError_t err,
                         const char *file,
                         int line ) {
    
    
    if (err != cudaSuccess) {
    
    
        printf( "%s in %s at line %d\n", cudaGetErrorString( err ),
                file, line );
        exit( EXIT_FAILURE );
    }
}
#define HANDLE_ERROR( err ) (HandleError( err, __FILE__, __LINE__ ))

然后测试代码:

float elapsed=0;
    cudaEvent_t start, stop;

    HANDLE_ERROR(cudaEventCreate(&start));
    HANDLE_ERROR(cudaEventCreate(&stop));

    HANDLE_ERROR( cudaEventRecord(start, 0));
    //!!!!!!!!!!!!!!!!!这一部分添加你要测试的基于CUDA运行的代码!!!!!!!
    HANDLE_ERROR(cudaEventRecord(stop, 0));
    HANDLE_ERROR(cudaEventSynchronize (stop) );

    HANDLE_ERROR(cudaEventElapsedTime(&elapsed, start, stop) );

    HANDLE_ERROR(cudaEventDestroy(start));
    HANDLE_ERROR(cudaEventDestroy(stop));
    std::cout<<"elapsed:"<<elapsed<<std::endl;

猜你喜欢

转载自blog.csdn.net/weixin_39326879/article/details/114277027
今日推荐