Stream && Event

Stream Tips

1.       for()  cudaStreamCreate()

2.       cudaMallocHost()

3.       for()  cudaMemcpyAsync(,,,stream[i]);

for()  kernel<<<,,,stream[i]>>>()

for()  cudaMemcpyAsync(,,,stream[i]);

cudaThreadSynchronize();

4.       for()  cudaStreamDestroy();

stream && event

 

Figure 1. Stream && event demo

Event Tips:

1.       cudaEventCreate(&start);

cudaEventCreate(&stop);

2.       cudaEventRecord(start,0);

for()  cudaMemcpyAsync(,,,stream[i]);

for()  kernel<<<,,,stream[i]>>>()

for()  cudaMemcpyAsync(,,,stream[i]);

cudaEventRecord(stop,0);

cudaEventSynchronize(stop);

cudaEventElapsedTime(&elapsedTime, start, stop);

3.       cudaEventDestroy(start);

cudaEventDestroy(stop);

 

Examples:

1.       cudaEventCreate(&start);

cudaEventCreate(&stop);

2.       cutCreateTimer(&timer);

cutResetTimer(timer);

cudaThreadSynchronize();

3.       cutStartTimer(timer);

cudaEventRecord(start,0);

cudaMemcpyAsync();

kernel<<<>>>();

cudaMemcpyAsync();

cudaEventRecord(stop,0);

cutStopTimer(timer);

4.       cudaEventQuery(stop)==true, cudaEventElapsedTimer();

5.       gpu_time = 29.39  (time spent executing by GPU)

cutGetTimerValue(timer) = 0.05  (time spent by CPU in CUDA calls)

More about stream&&event, please visit: http://www.hpctech.com/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值