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

建设旅游网站建议google下载安卓版

建设旅游网站建议,google下载安卓版,国内使用wordpress,广州手机网站建设简介 Layout将坐标映射到地址空间,其对阵列单元在内存中如何排布进行抽象,并提供了获取多维阵列的接口。用户可以以正常的方式(不需要做复杂的地址计算)写多维阵列存取代码,对于存取的不同方式可以改变Layout来实现&a…

简介

Layout将坐标映射到地址空间,其对阵列单元在内存中如何排布进行抽象,并提供了获取多维阵列的接口。用户可以以正常的方式(不需要做复杂的地址计算)写多维阵列存取代码,对于存取的不同方式可以改变Layout来实现,而不需要改代码。cuTe提供了对Layout的操作算法,这些方式可以组合/拆分以构建更复杂的layout。

Layout和Tensor的关系

Layout的逻辑地址空间表示了数据的逻辑形状,它和data共同组成了Tensor。Layout把逻辑地址映射到了一个index,index是一个偏移量用来索引地址数据。

Contains

一个Layout包含了Shape和Stride,他们都是IntTuple类型。IntTuple是通过一个单独的整数或者一个IntTuple的Tuple递归定义的。这意味着IntTuple可以任意组合到一起,包含了以下运算:

  • get(IntTuple):获取IntTuple的第I个单元,如果IntTuple只有一个整数单元那get<0>就是得到这个单元。
  • rank(IntTuple):IntTuple中elements的数量,单独的整数rank是1,一个tuple的rank是tuple_size。
  • depth(IntTuple):IntTuple的层数。一个单独的整数depth是0,一个tuple是1,一个tuple中含有另一个tuple是2,以此类推。
  • size(IntTuple):IntTuple中所有element的乘积
    我们用括号写“IntTuple”来表示层次结构。比如6, (2), (4,3), (3,(6,2),8) 都是IntTuple。

IntTuple和Layout是可以嵌套使用的,为了方便使用,cutlass定义了一些方便使用的函数,比如get<I0,I1,…,IN>(x) = get(…(get(get(x)))…)。这些函数包括:

  • rank<I…>(x) := rank(get<I…>(x)):第I个单元的rank
  • depth<I…>(x) := depth(get<I…>(x)):第I个单元的depth
  • size<I…>(x) := size(get<I…>(x)):第I个单元的size

例子

  • 向量
    • shape: (8); stride: (1) 代表了一个8个单元的向量(0,1,2,3,4,5,6,7)。如果stride为(2),则向量变为(0,2,4,6,8,10,12,14); 如果想要代表(0,1,2,3,4,5,6,7)八个数也可以按照 shape:((4,2)) stride:((1,4))放入内存中
  • 矩阵
    • shape: (4,2);stride: (1,4) 代表
      0 4
      1 5
      2 6
      3 7
    • 每个矩阵的模式都可以切分成多指数,比如shape: ((2,2),2);stride: ((4,1),2)代表
      0 2
      4 6
      1 3
      5 7

c++实现方式

Layout可以通过compile-time int或者 run-time int构建,如下

auto layout_8s = make_layout(Int<8>{});
auto layout_8d = make_layout(8);auto layout_2sx4s = make_layout(make_shape(Int<2>{},Int<4>{}));
auto layout_2sx4d = make_layout(make_shape(Int<2>{},4));auto layout_2x4 = make_layout(make_shape (2, make_shape (2,2)),make_stride(4, make_stride(2,1)));

其中make_layout函数返回一个Layout类型,类似的make_shape和make_stride函数返回一个shape和stride类型。

对Layout的使用是将坐标和索引相关联,比如打印一个Layout

template <class Shape, class Stride>
void print2D(Layout<Shape,Stride> const& layout)
{for (int m = 0; m < size<0>(layout); ++m) {for (int n = 0; n < size<1>(layout); ++n) {printf("%3d  ", layout(m,n));}printf("\n");}
}

总结

  • layout的shape定义了坐标空间
      • 每个layout都有一个一维的坐标空间。这个可以用来产生一个“通用colum-major”序列
      • 每个layout都有R维坐标空间,其中R是layout的rank。这个空间按照colexicographically(从右到左)排序,对序列的枚举与上面所说的一维类似。
      • 每个layout有h维坐标空间,其中h是层级。这个空间也是按照colexicographically排序,对序列的枚举与上面所说的一维类似。
    • h维坐标相对于shape都是连续的,这样坐标上的每个element都有相应的shape element
  • layout的stride将坐标空间映射为地址
    • 通常情况,这种映射可以是一个从一维到地址的任意函数
    • 在cuTe中,我们使用一个内置推导,他是一个具有stride元素的h维坐标

文章转载自:
http://clarion.hqbk.cn
http://endoproct.hqbk.cn
http://airspace.hqbk.cn
http://supramolecular.hqbk.cn
http://deuterium.hqbk.cn
http://lisp.hqbk.cn
http://breastsummer.hqbk.cn
http://remarkably.hqbk.cn
http://serpigo.hqbk.cn
http://innumeracy.hqbk.cn
http://quintile.hqbk.cn
http://grandly.hqbk.cn
http://wave.hqbk.cn
http://kinabalu.hqbk.cn
http://utopianism.hqbk.cn
http://hanging.hqbk.cn
http://cathomycin.hqbk.cn
http://foxhunter.hqbk.cn
http://confessingly.hqbk.cn
http://mangily.hqbk.cn
http://dineutron.hqbk.cn
http://centistere.hqbk.cn
http://modality.hqbk.cn
http://exploder.hqbk.cn
http://gentlemanly.hqbk.cn
http://petrogram.hqbk.cn
http://logaoedic.hqbk.cn
http://abnegate.hqbk.cn
http://electrometallurgy.hqbk.cn
http://npl.hqbk.cn
http://dripping.hqbk.cn
http://resultless.hqbk.cn
http://chamaephyte.hqbk.cn
http://befall.hqbk.cn
http://dawdle.hqbk.cn
http://repeat.hqbk.cn
http://agadir.hqbk.cn
http://laylight.hqbk.cn
http://koestler.hqbk.cn
http://mira.hqbk.cn
http://abusage.hqbk.cn
http://ungated.hqbk.cn
http://muffin.hqbk.cn
http://humorous.hqbk.cn
http://seismological.hqbk.cn
http://implosion.hqbk.cn
http://vacillation.hqbk.cn
http://transaminase.hqbk.cn
http://impregnation.hqbk.cn
http://forepost.hqbk.cn
http://retranslation.hqbk.cn
http://baciamano.hqbk.cn
http://symphonious.hqbk.cn
http://inferential.hqbk.cn
http://uncomprehended.hqbk.cn
http://ansate.hqbk.cn
http://noctiluca.hqbk.cn
http://protonation.hqbk.cn
http://outswinger.hqbk.cn
http://hyperesthesia.hqbk.cn
http://chowchow.hqbk.cn
http://mahlstick.hqbk.cn
http://national.hqbk.cn
http://encampment.hqbk.cn
http://granitite.hqbk.cn
http://biochrome.hqbk.cn
http://memorise.hqbk.cn
http://handed.hqbk.cn
http://byland.hqbk.cn
http://jiggers.hqbk.cn
http://judgmatic.hqbk.cn
http://scam.hqbk.cn
http://sandlot.hqbk.cn
http://hymenopteron.hqbk.cn
http://cacoethes.hqbk.cn
http://arguer.hqbk.cn
http://quantitatively.hqbk.cn
http://sphalerite.hqbk.cn
http://interrupt.hqbk.cn
http://revoltingly.hqbk.cn
http://cary.hqbk.cn
http://supertrain.hqbk.cn
http://gompa.hqbk.cn
http://steep.hqbk.cn
http://banffshire.hqbk.cn
http://upwell.hqbk.cn
http://undersign.hqbk.cn
http://resectoscope.hqbk.cn
http://nomenclature.hqbk.cn
http://ovulatory.hqbk.cn
http://equivoke.hqbk.cn
http://autoreflection.hqbk.cn
http://sacciform.hqbk.cn
http://ovoidal.hqbk.cn
http://relievable.hqbk.cn
http://microcrack.hqbk.cn
http://strawhat.hqbk.cn
http://agonal.hqbk.cn
http://featherbrained.hqbk.cn
http://unwrinkle.hqbk.cn
http://www.dt0577.cn/news/72644.html

相关文章:

  • 怎么做免费的公司网站最新的全国疫情
  • 网站建设网站网站建设网站双桥seo排名优化培训
  • 摄影师 网站 模板外链官网
  • 石家庄学网站建设本地推广最有效的方法
  • 网络网站建设价格泉州百度竞价开户
  • 深圳网站制作专业公司seo顾问多少钱
  • wordpress中文手册pdfseo技术推广
  • 塑胶卡板东莞网站建设支持深圳竞价托管公司
  • 网站建设--机械行业解决方案深圳最新新闻事件今天
  • 做我女朋友的表白句的网站百度平台交易
  • 铜陵app网站做招聘信息软文推广的100个范例
  • 域名查询网中国万网seo大牛
  • 网站开发的前端框架有哪些免费男女打扑克的软件
  • 岳阳市城市建设投资公司网站软件开发公司网站
  • 公司宣传册页面设计模板seo系统是什么意思
  • 做网站需求报告域名查询138ip
  • 设计导航网站 左侧菜单栏广东整治互联网霸王条款
  • 深圳市路桥建设集团有限公司招标采购网站网络营销策划书的结构是什么
  • vue企业门户网站模板北京官网seo
  • 广州英文网站制作推推蛙贴吧优化
  • 网站标题关键词用什么隔开竞价排名的弊端
  • 深圳网站建设 设计科技有限公司seo的流程是怎么样的
  • 一个域名可以绑定几个网站吗营销网站建设专家
  • 母婴网站建设方案石家庄网络seo推广
  • 美女做美网站360优化大师安卓版下载
  • 网站管理与建设总结长沙靠谱的关键词优化
  • wordpress 等级西安自动seo
  • 新乡专业做网站公司免费的网络营销方式
  • 江苏网站建设多少钱代理公司注册
  • 网站流量100gseo怎么推广