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

建设银行网站打不开别的网站可以wordpress更新后台反应慢

建设银行网站打不开别的网站可以,wordpress更新后台反应慢,wordpress上传至哪个目录,深入浅出wordpress下载接上篇文章,可以发现使用CUDA提供的API进行前缀和扫描时,第一次运行的时间不如共享内存访问,猜测是使用到了全局内存。 首先看调用逻辑: thrust::inclusive_scan(thrust::device, d_x, d_x N, d_x);第一个参数指定了设备&#x…

接上篇文章,可以发现使用CUDA提供的API进行前缀和扫描时,第一次运行的时间不如共享内存访问,猜测是使用到了全局内存。
首先看调用逻辑:

thrust::inclusive_scan(thrust::device, d_x, d_x + N, d_x);

第一个参数指定了设备,根据实参数量和类型找到对应的函数,是scan.h中的如下函数:

template <typename DerivedPolicy, typename InputIterator, typename OutputIterator>
_CCCL_HOST_DEVICE OutputIterator inclusive_scan(const thrust::detail::execution_policy_base<DerivedPolicy>& exec,InputIterator first,InputIterator last,OutputIterator result);

其实现位于thrust\thrust\system\cuda\detail\scan.h
注意:路径可能与实际有偏差,可以在/usr/local/下使用find . -name xx查找对应的文件

template <typename Derived, typename InputIt, typename OutputIt>
_CCCL_HOST_DEVICE OutputIt
inclusive_scan(thrust::cuda_cub::execution_policy<Derived>& policy, InputIt first, InputIt last, OutputIt result)
{return thrust::cuda_cub::inclusive_scan(policy, first, last, result, thrust::plus<>{});
}

将操作指定为plus,
然后执行同一文件下的此函数:

template <typename Derived, typename InputIt, typename OutputIt, typename ScanOp>
_CCCL_HOST_DEVICE OutputIt inclusive_scan(thrust::cuda_cub::execution_policy<Derived>& policy, InputIt first, InputIt last, OutputIt result, ScanOp scan_op)
{using diff_t           = typename thrust::iterator_traits<InputIt>::difference_type;diff_t const num_items = thrust::distance(first, last);return thrust::cuda_cub::inclusive_scan_n(policy, first, num_items, result, scan_op);
}

最终找到主要的执行逻辑:

_CCCL_EXEC_CHECK_DISABLE
template <typename Derived, typename InputIt, typename Size, typename OutputIt, typename ScanOp>
_CCCL_HOST_DEVICE OutputIt inclusive_scan_n_impl(thrust::cuda_cub::execution_policy<Derived>& policy, InputIt first, Size num_items, OutputIt result, ScanOp scan_op)
{using AccumT     = typename thrust::iterator_traits<InputIt>::value_type;using Dispatch32 = cub::DispatchScan<InputIt, OutputIt, ScanOp, cub::NullType, std::int32_t, AccumT>;using Dispatch64 = cub::DispatchScan<InputIt, OutputIt, ScanOp, cub::NullType, std::int64_t, AccumT>;cudaStream_t stream = thrust::cuda_cub::stream(policy);cudaError_t status;// Determine temporary storage requirements:size_t tmp_size = 0;{THRUST_INDEX_TYPE_DISPATCH2(status,Dispatch32::Dispatch,Dispatch64::Dispatch,num_items,(nullptr, tmp_size, first, result, scan_op, cub::NullType{}, num_items_fixed, stream));thrust::cuda_cub::throw_on_error(status,"after determining tmp storage ""requirements for inclusive_scan");}// Run scan:{// Allocate temporary storage:thrust::detail::temporary_array<std::uint8_t, Derived> tmp{policy, tmp_size};THRUST_INDEX_TYPE_DISPATCH2(status,Dispatch32::Dispatch,Dispatch64::Dispatch,num_items,(tmp.data().get(), tmp_size, first, result, scan_op, cub::NullType{}, num_items_fixed, stream));thrust::cuda_cub::throw_on_error(status, "after dispatching inclusive_scan kernel");thrust::cuda_cub::throw_on_error(thrust::cuda_cub::synchronize_optional(policy), "inclusive_scan failed to synchronize");}return result + num_items;
}

可以看到,此处thrust调用了cub的Dispatchscan操作,而cub中是使用全局内存的,因此造成了效率还不如手动编写使用共享内存的算法。

http://www.yayakq.cn/news/856956/

相关文章:

  • 怎样开发手机网站建设wordpress干嘛的
  • 文山 网站建设 滇icp上海网络推广需要多少
  • 网站 app 哪个先做中国建筑招聘官方网站
  • 网站建设花钱少做自己的网站多少钱
  • 图书馆建设网站打不开中文网站建设计划书
  • 如何增加企业网站被收录的几率wordpress查看所有文章
  • 怎样用源代码做网站做华为网站的还有哪些
  • 四川建设银行手机银行下载官方网站网站设计教科书
  • 烟台网站快速优化排名亚洲做性视频网站
  • 怎样做私人网站h5网站和传统网站
  • 做期货主要看哪个网站汕头市网站建设公司
  • 湖北最专业的公司网站建设平台企业网站建设工作总结
  • 响应式自适应网站模板芜湖建站公司
  • 如果用局域网做网站精准流量推广
  • 陕西住房与建设厅网站做公司官网找谁
  • 迁安做网站中的cms润强手机网站滑动效果
  • 一站式海外推广平台wordpress单本小说站
  • 网站维护学习做的比较好的国外网站一级页面布局分析
  • 协会网站建设哪里实惠建设银行U盾不自己弹网站了
  • 做防伪查询网站网站制作需要学什么
  • 济南建设银行公积金网站如何更换网站图片
  • 广州 Wix网站开发什么推广平台比较好
  • 品牌网络推广运营公司宁波seo关键词优化外包
  • 建一个营销网站多少钱wordpress 的论坛
  • 关于网站设计的价格企业网站管理系统的设计与实现
  • 塘厦镇仿做网站个人网站建设的参考文献
  • 邯郸网站制作基本流程秦皇岛手机网站建设
  • 厦门关键词seo排名网站wordpress订阅会员
  • 网站建设移动端是什么意思如何做商业网站分析
  • 开通网站需要什么手续制作网页的工具主要有哪些