소개

Data

HOME > RESOURCES > Data 35

example2
HRYU   2009.10.09   5331

inline void checkTimeWin(double &perform, double &time, int tiker, const char *msg) { // from http://blog.tinywolf.com/33 // input checkTimeWin(performance, time); INT64 freq; INT64 cnt; // if(tiker==0) { printf("CPU timer start : %s ", msg);} QueryPerformanceFrequency((LARGE_INTEGER*)&freq); QueryPerformanceCounter((LARGE_INTEGER*)&cnt); double now = (double)cnt / (double)freq; perform = now - time; time = now; if(tiker==1) {printf("CPU timer end : %10.7f sec %s ", perform, msg);} } ------------------------------------------------ #include #include // timer //#define loop_N 10; __global__ void a( int datasize, float *input, float *output); void errCUDA(const char *msg); inline void tictoc(double &perform, double &time, int tiker, const char *msg); main(){ int loop_N = 100; float *a_host, *b_host; float *a_dev, *b_dev; double time1, time2; size_t memSize1 = sizeof(float)*loop_N; a_host = (float *) malloc( memSize1 ); b_host = (float *) malloc( memSize1 ); tictoc(time1,time2,0,"malloc"); cudaMalloc( (void**)&a_dev, memSize1 );errCUDA("malloc a_dev"); tictoc(time1,time2,1,"malloc"); cudaMalloc( (void**)&b_dev, memSize1 );errCUDA("malloc b_dev"); cudaMemset( a_dev, 0.0, memSize1); errCUDA("memset a_dev"); tictoc(time1,time2,0,"memset"); cudaMemset( b_dev, 0.0, memSize1); errCUDA("memset b_dev"); tictoc(time1,time2,1,"memset"); for(int i =0; i>>(loop_N, a_dev, b_dev);errCUDA("launch kernel : a "); cudaMemcpy(b_host, b_dev, memSize1, cudaMemcpyDeviceToHost); for(int i =0; i

Comment









List


37 2009.10.27
36 2009.10.23
35 2009.10.09
34 2009.09.25
33 2009.09.19