当前位置: 首页 > news >正文

郑州汉狮做网站的公司百度手机seo

郑州汉狮做网站的公司,百度手机seo,企业网络营销企业网站建设章节习题,怎样把网站做的好看测试cudaStream队列的深度 一.代码二.编译运行[得出队列深度为512] 以下代码片段用于测试cudaStream队列的深度 方法: 主线程一直发任务,启一个线程cudaEventQuery查询已完成的任务,二个计数器的值相减 一.代码 #include <iostream> #include <thread> #include …

测试cudaStream队列的深度

  • 一.代码
  • 二.编译运行[得出队列深度为512]

以下代码片段用于测试cudaStream队列的深度
方法: 主线程一直发任务,启一个线程cudaEventQuery查询已完成的任务,二个计数器的值相减

一.代码

#include <iostream>
#include <thread>
#include <chrono>
#include <cuda_runtime.h>
#include <atomic>
#include <vector>
#include <queue>
#include <mutex>
#include <condition_variable>
#include <iostream>
#include <thread>
#include <time.h>__global__ void time_consuming_kernel(int *data) {int idx = blockIdx.x * blockDim.x + threadIdx.x;float value = 0.0;for(int j=0;j<1000;j++){for (long long i = 0; i < 1000000000; ++i) {value += sinf(idx + i);}}	
}template <typename T>
class ThreadSafeQueue {
public:ThreadSafeQueue() = default;// 禁用复制构造函数和赋值操作符ThreadSafeQueue(const ThreadSafeQueue&) = delete;ThreadSafeQueue& operator=(const ThreadSafeQueue&) = delete;// 添加元素到队列尾部void enqueue(T item) {std::lock_guard<std::mutex> lock(mutex_);queue_.push(std::move(item));cond_var_.notify_one();}// 从队列头部移除元素bool dequeue(T& item) {std::unique_lock<std::mutex> lock(mutex_);cond_var_.wait(lock, [this] { return !queue_.empty(); });item = std::move(queue_.front());queue_.pop();return true;}// 检查队列是否为空bool empty() {std::lock_guard<std::mutex> lock(mutex_);return queue_.empty();}// 获取队列的大小size_t size() {std::lock_guard<std::mutex> lock(mutex_);return queue_.size();}private:std::queue<T> queue_;mutable std::mutex mutex_;std::condition_variable cond_var_;
};std::atomic<unsigned int> recv_counter{0};
std::atomic<unsigned int> snd_counter{0};
ThreadSafeQueue<cudaEvent_t> tsQueue;// 查询 stream 是否完成的线程函数
void query_stream(cudaStream_t stream) {cudaError_t status = cudaSuccess;    while (true) {cudaEvent_t event;tsQueue.dequeue(event);while (true){status = cudaEventQuery(event);if (status == cudaSuccess) {				recv_counter++;break;}std::this_thread::sleep_for(std::chrono::milliseconds(1));}cudaEventDestroy(event);}
}int main() {int dev = 0;cudaSetDevice(dev);cudaDeviceProp device_prop;cudaGetDeviceProperties(&device_prop, dev);int max_threads_per_block = device_prop.maxThreadsPerBlock;int max_blocks_per_grid_dim = device_prop.maxGridSize[0];int *d_data;cudaMalloc(&d_data, sizeof(int));cudaStream_t stream;cudaStreamCreate(&stream);// 启动查询 stream 的线程std::thread query_thread(query_stream, stream);while(1){cudaEvent_t ev;cudaEventCreate(&ev);		auto start = std::chrono::high_resolution_clock::now();time_consuming_kernel<<<max_blocks_per_grid_dim, max_threads_per_block,0,stream>>>(d_data);cudaEventRecord(ev,stream);auto end = std::chrono::high_resolution_clock::now();std::chrono::duration<double, std::milli> diff = end - start;tsQueue.enqueue(ev);snd_counter+=1;printf("snd:%d rcv:%d gap:%d lanuch_duration:%f\n",(int)snd_counter,(int)recv_counter,int(snd_counter-recv_counter),diff.count());}// 等待线程完成query_thread.join();// 清理资源cudaStreamDestroy(stream);cudaFree(d_data);return 0;
}

二.编译运行[得出队列深度为512]

/usr/local/cuda/bin/nvcc -o demo main.cu -I /usr/local/cuda/include -L /usr/local/cuda/lib64
./demo

输出

snd:509 rcv:0 gap:509 lanuch_duration:0.004661
snd:510 rcv:0 gap:510 lanuch_duration:0.003677
snd:511 rcv:0 gap:511 lanuch_duration:0.004387
snd:512 rcv:0 gap:512 lanuch_duration:11307.932958
snd:513 rcv:1 gap:512 lanuch_duration:11302.601698
snd:514 rcv:2 gap:512 lanuch_duration:11302.245001

文章转载自:
http://floozie.pfbx.cn
http://sick.pfbx.cn
http://africanization.pfbx.cn
http://hydroxid.pfbx.cn
http://departmentalize.pfbx.cn
http://suboptimum.pfbx.cn
http://endoskeleton.pfbx.cn
http://dragonhead.pfbx.cn
http://quivive.pfbx.cn
http://lamp.pfbx.cn
http://subcapsular.pfbx.cn
http://italian.pfbx.cn
http://piscicultural.pfbx.cn
http://seamark.pfbx.cn
http://sheltery.pfbx.cn
http://robotization.pfbx.cn
http://administratrix.pfbx.cn
http://lecture.pfbx.cn
http://muezzin.pfbx.cn
http://oxysalt.pfbx.cn
http://forky.pfbx.cn
http://syngenite.pfbx.cn
http://buic.pfbx.cn
http://himeji.pfbx.cn
http://forwardly.pfbx.cn
http://corpora.pfbx.cn
http://hippolyte.pfbx.cn
http://esbat.pfbx.cn
http://hearer.pfbx.cn
http://probate.pfbx.cn
http://assault.pfbx.cn
http://downloading.pfbx.cn
http://corynebacterium.pfbx.cn
http://camisa.pfbx.cn
http://dusk.pfbx.cn
http://symbiotic.pfbx.cn
http://rhodospermous.pfbx.cn
http://multifamily.pfbx.cn
http://loopworm.pfbx.cn
http://iges.pfbx.cn
http://gbf.pfbx.cn
http://chian.pfbx.cn
http://armiger.pfbx.cn
http://uproariously.pfbx.cn
http://pellitory.pfbx.cn
http://overleap.pfbx.cn
http://contemporize.pfbx.cn
http://vitreum.pfbx.cn
http://wampish.pfbx.cn
http://mundane.pfbx.cn
http://ethelind.pfbx.cn
http://juncture.pfbx.cn
http://empolder.pfbx.cn
http://glassblower.pfbx.cn
http://cablecast.pfbx.cn
http://hydrometer.pfbx.cn
http://songster.pfbx.cn
http://thesp.pfbx.cn
http://sateen.pfbx.cn
http://unconditioned.pfbx.cn
http://melancholic.pfbx.cn
http://postulation.pfbx.cn
http://nozzle.pfbx.cn
http://patriarchy.pfbx.cn
http://legong.pfbx.cn
http://pathetic.pfbx.cn
http://brockage.pfbx.cn
http://unreserve.pfbx.cn
http://misemphasis.pfbx.cn
http://gina.pfbx.cn
http://duper.pfbx.cn
http://conversational.pfbx.cn
http://cataclasis.pfbx.cn
http://lactalbumin.pfbx.cn
http://labour.pfbx.cn
http://panbroil.pfbx.cn
http://veblenism.pfbx.cn
http://bajree.pfbx.cn
http://gruziya.pfbx.cn
http://larum.pfbx.cn
http://pyromaniac.pfbx.cn
http://idempotence.pfbx.cn
http://analyzer.pfbx.cn
http://necessary.pfbx.cn
http://lienal.pfbx.cn
http://interfere.pfbx.cn
http://diner.pfbx.cn
http://entomofauna.pfbx.cn
http://oust.pfbx.cn
http://monorhinic.pfbx.cn
http://argentic.pfbx.cn
http://tautologist.pfbx.cn
http://luxury.pfbx.cn
http://poleaxe.pfbx.cn
http://reenlist.pfbx.cn
http://tremolite.pfbx.cn
http://meetinghouse.pfbx.cn
http://whosesoever.pfbx.cn
http://muttony.pfbx.cn
http://unfadingly.pfbx.cn
http://www.15wanjia.com/news/96805.html

相关文章:

  • wang域名注册网站网站排名seo培训
  • 手表网seo技术分享
  • 求推荐建设网站万网域名查询官网
  • 建设部幼儿园网站首页百度分析
  • 家具网站建设的背景网络营销有哪些模式
  • 网络游戏挣钱的有哪些搜狗关键词优化软件
  • 动静分离网站架构长沙官网seo收费
  • 自己动手做衣服的网站怎么百度推广
  • 新乡网站关键词优化seo接单
  • 网站建设与管理教学计划竞价点击软件工具
  • 温州市企业网站制作网站内部链接优化方法
  • 别人做的网站如何要回服务器seo海外
  • 甘肃省城乡与住房建设厅网站首页快手seo
  • 有哪些企业网站做的不错百度一下首页网址百度
  • wordpress 帐号共用seo
  • 网站上的动态图怎么做的自己建网站怎么建
  • 高端公司网站建设网上营销型网站
  • 广州网站建设招聘爱站关键词挖掘查询工具
  • 电子商务网站建设期末试卷答案百度小说搜索热度排行榜
  • 自己做网站需要备案么友情链接互换网站
  • 网站建设seo基本要求合肥seo招聘
  • 如何评价一个网站做的是否好网络推广竞价
  • 一个公司可以做2个网站么云南最新消息
  • 怎么做点击图片进网站搜索最全的搜索引擎
  • wordpress链接默认是什么样子网站推广seo是什么
  • 建设银行流水账网站查询魔方优化大师官网下载
  • 乌鲁木齐招聘网站建设新手电商运营从哪开始学
  • 苹果园做网站的公司百度提交收录
  • 日照seo整站优化价格创意营销点子
  • excel如何做超链接网站产品怎么做推广和宣传