1 line
34 KiB
JavaScript
1 line
34 KiB
JavaScript
Search.setIndex({docnames:["getting-started/installation","getting-started/tutorials/01-vector-add","getting-started/tutorials/02-fused-softmax","getting-started/tutorials/03-matrix-multiplication","getting-started/tutorials/04-low-memory-dropout","getting-started/tutorials/05-layer-norm","getting-started/tutorials/index","getting-started/tutorials/sg_execution_times","index","programming-guide/chapter-1/introduction","programming-guide/chapter-2/related-work","python-api/generated/triton.Config","python-api/generated/triton.autotune","python-api/generated/triton.heuristics","python-api/generated/triton.jit","python-api/generated/triton.language.arange","python-api/generated/triton.language.atomic_add","python-api/generated/triton.language.atomic_cas","python-api/generated/triton.language.atomic_max","python-api/generated/triton.language.atomic_min","python-api/generated/triton.language.atomic_xchg","python-api/generated/triton.language.broadcast_to","python-api/generated/triton.language.cos","python-api/generated/triton.language.dot","python-api/generated/triton.language.exp","python-api/generated/triton.language.load","python-api/generated/triton.language.log","python-api/generated/triton.language.max","python-api/generated/triton.language.maximum","python-api/generated/triton.language.min","python-api/generated/triton.language.minimum","python-api/generated/triton.language.multiple_of","python-api/generated/triton.language.num_programs","python-api/generated/triton.language.program_id","python-api/generated/triton.language.rand","python-api/generated/triton.language.randint","python-api/generated/triton.language.randint4x","python-api/generated/triton.language.randn","python-api/generated/triton.language.ravel","python-api/generated/triton.language.reshape","python-api/generated/triton.language.sigmoid","python-api/generated/triton.language.sin","python-api/generated/triton.language.softmax","python-api/generated/triton.language.sqrt","python-api/generated/triton.language.store","python-api/generated/triton.language.sum","python-api/generated/triton.language.where","python-api/generated/triton.language.zeros","python-api/generated/triton.testing.Benchmark","python-api/generated/triton.testing.do_bench","python-api/generated/triton.testing.perf_report","python-api/triton","python-api/triton.language","python-api/triton.testing"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,sphinx:56},filenames:["getting-started/installation.rst","getting-started/tutorials/01-vector-add.rst","getting-started/tutorials/02-fused-softmax.rst","getting-started/tutorials/03-matrix-multiplication.rst","getting-started/tutorials/04-low-memory-dropout.rst","getting-started/tutorials/05-layer-norm.rst","getting-started/tutorials/index.rst","getting-started/tutorials/sg_execution_times.rst","index.rst","programming-guide/chapter-1/introduction.rst","programming-guide/chapter-2/related-work.rst","python-api/generated/triton.Config.rst","python-api/generated/triton.autotune.rst","python-api/generated/triton.heuristics.rst","python-api/generated/triton.jit.rst","python-api/generated/triton.language.arange.rst","python-api/generated/triton.language.atomic_add.rst","python-api/generated/triton.language.atomic_cas.rst","python-api/generated/triton.language.atomic_max.rst","python-api/generated/triton.language.atomic_min.rst","python-api/generated/triton.language.atomic_xchg.rst","python-api/generated/triton.language.broadcast_to.rst","python-api/generated/triton.language.cos.rst","python-api/generated/triton.language.dot.rst","python-api/generated/triton.language.exp.rst","python-api/generated/triton.language.load.rst","python-api/generated/triton.language.log.rst","python-api/generated/triton.language.max.rst","python-api/generated/triton.language.maximum.rst","python-api/generated/triton.language.min.rst","python-api/generated/triton.language.minimum.rst","python-api/generated/triton.language.multiple_of.rst","python-api/generated/triton.language.num_programs.rst","python-api/generated/triton.language.program_id.rst","python-api/generated/triton.language.rand.rst","python-api/generated/triton.language.randint.rst","python-api/generated/triton.language.randint4x.rst","python-api/generated/triton.language.randn.rst","python-api/generated/triton.language.ravel.rst","python-api/generated/triton.language.reshape.rst","python-api/generated/triton.language.sigmoid.rst","python-api/generated/triton.language.sin.rst","python-api/generated/triton.language.softmax.rst","python-api/generated/triton.language.sqrt.rst","python-api/generated/triton.language.store.rst","python-api/generated/triton.language.sum.rst","python-api/generated/triton.language.where.rst","python-api/generated/triton.language.zeros.rst","python-api/generated/triton.testing.Benchmark.rst","python-api/generated/triton.testing.do_bench.rst","python-api/generated/triton.testing.perf_report.rst","python-api/triton.rst","python-api/triton.language.rst","python-api/triton.testing.rst"],objects:{"triton.Config":{__init__:[11,1,1,""]},"triton.language":{arange:[15,2,1,""],atomic_add:[16,2,1,""],atomic_cas:[17,2,1,""],atomic_max:[18,2,1,""],atomic_min:[19,2,1,""],atomic_xchg:[20,2,1,""],broadcast_to:[21,2,1,""],cos:[22,2,1,""],dot:[23,2,1,""],exp:[24,2,1,""],load:[25,2,1,""],log:[26,2,1,""],max:[27,2,1,""],maximum:[28,2,1,""],min:[29,2,1,""],minimum:[30,2,1,""],multiple_of:[31,2,1,""],num_programs:[32,2,1,""],program_id:[33,2,1,""],rand:[34,2,1,""],randint4x:[36,2,1,""],randint:[35,2,1,""],randn:[37,2,1,""],ravel:[38,2,1,""],reshape:[39,2,1,""],sigmoid:[40,2,1,""],sin:[41,2,1,""],softmax:[42,2,1,""],sqrt:[43,2,1,""],store:[44,2,1,""],sum:[45,2,1,""],where:[46,2,1,""],zeros:[47,2,1,""]},"triton.testing":{Benchmark:[48,0,1,""],do_bench:[49,2,1,""],perf_report:[50,2,1,""]},"triton.testing.Benchmark":{__init__:[48,1,1,""]},triton:{Config:[11,0,1,""],autotune:[12,2,1,""],heuristics:[13,2,1,""],jit:[14,2,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","method","Python method"],"2":["py","function","Python function"]},objtypes:{"0":"py:class","1":"py:method","2":"py:function"},terms:{"0":[1,2,3,4,5,7,9,10,32,33,34,37,47,49],"00":7,"0000":3,"000000":2,"000001":[1,2],"000002":2,"000007":5,"000009":5,"004273":1,"01":[1,3,7],"011":[4,7],"012175":5,"019048":3,"02":[2,7],"025776":3,"028308":3,"03":[3,7],"04":[4,7],"05":[5,7],"058574":2,"060049":3,"060814":3,"061463":3,"0625":3,"069228":2,"07":7,"079980":5,"08199":4,"083026":5,"08452":4,"084721":1,"085717":5,"088617":5,"091565":5,"093402":3,"0938":3,"096776":5,"097543":2,"0f":10,"0s":4,"1":[1,2,3,4,5,8,10,13,32,33,34,37],"10":[1,3,4,5],"100":[2,49],"101597":2,"102191":3,"1024":[1,3,4,5,12],"10240":5,"102570":5,"1045":3,"104745":5,"1048576":1,"106434":4,"10752":5,"107920":5,"108913":3,"11":[0,1,3,5],"111783":2,"112552":5,"11264":5,"1152":3,"11776":5,"118087":5,"12":[1,3,5,7],"12160":2,"12288":[2,5],"123":4,"12416":2,"12544":2,"12672":2,"127":1,"128":[1,2,3,5,12],"1280":3,"12800":5,"128191":5,"13":[1,3,5],"130650":3,"131072":1,"1328":3,"133":5,"13312":5,"133347":2,"134217728":1,"13686":4,"13824":5,"138541":3,"14":[1,3,5],"1408":3,"142862":2,"14336":5,"14848":5,"149375":2,"149397":4,"15":[1,3,5],"151":2,"1536":[3,5],"15360":5,"154":2,"156":[1,7],"15872":5,"16":[2,3,5,10,47],"160":2,"160801":5,"161":5,"162":2,"162157":5,"16384":1,"1664":3,"16777216":1,"17":[3,5],"17879":4,"1792":3,"179533":2,"179836":5,"18":[3,5],"181817":2,"182":5,"1823":2,"186":2,"189747":3,"19":[1,3,5],"190482":1,"190689":5,"191":5,"192":1,"1920":3,"198":2,"1982":10,"198220":5,"1983":9,"1984":10,"1989":10,"199":2,"1991":[9,10],"1999":10,"1d":[1,2,3],"1e":[1,2,3,5],"1s":4,"2":[1,2,3,4,5,8,10,11,13,32,33,49],"20":[2,3,5,7,49],"200000":1,"200001":3,"200008":5,"2004":10,"2006":10,"2011":4,"2012":10,"2013":9,"2014":[4,9],"2016":[9,10],"2017":9,"2018":[9,10],"2019":10,"2021":[9,10],"202781":3,"2048":[2,3,5],"207907":5,"208":5,"2097152":1,"21":[3,5],"210850":3,"212868":4,"2141":1,"214186":4,"216187":2,"2176":3,"219":1,"22":[3,5],"220":[3,5],"229369":5,"23":[3,5],"2304":3,"231":5,"231237":5,"24":[3,5],"242":[5,7],"242181":3,"242569":5,"243":5,"2432":3,"243907":5,"245":[3,5],"246":5,"248":5,"249":5,"25":[3,5,49],"251065":3,"252":5,"252485":3,"253":5,"253788":5,"254":5,"254827":3,"256":[1,2,3,5,11],"2560":[3,5],"257":5,"26":[3,5,7],"260":5,"260869":3,"262":5,"262144":1,"2656":3,"267":5,"267711":5,"268":5,"2688":3,"269692":3,"27":[3,5],"271186":5,"272":5,"276":5,"278512":5,"28":[1,3,5],"280":5,"2812":3,"2816":3,"284":5,"285":5,"286":5,"288":5,"289":5,"2891":3,"29":[3,5],"290":5,"291":5,"292":5,"293429":4,"293872":5,"294":5,"2944":3,"296":5,"2d":[3,5,23],"2m":2,"2mn":2,"3":[0,1,2,3,4,5,10],"30":3,"305746":3,"305878":3,"307":5,"3072":[3,5],"3076":1,"31":3,"310":5,"310171":3,"311":5,"3125":3,"314362":3,"316":5,"32":[3,5,11],"3200":3,"322318":5,"322572":5,"32768":1,"3281":3,"33":3,"330":5,"3328":3,"333321":1,"333333":5,"33554432":1,"336555":5,"338":5,"338991":5,"34":3,"341":[1,5],"34172":4,"3438":3,"3456":3,"3477":3,"350361":3,"351":5,"3516":3,"3555":3,"3584":[3,5],"36":3,"360017":2,"362445":1,"366":[5,7],"367":5,"3712":3,"3713":1,"371721":4,"372618":3,"372800":3,"374":5,"38":1,"380953":3,"384":[1,2,3,5],"3840":3,"384000":3,"39":[3,7],"3906":3,"390975":3,"396572":3,"3968":3,"397":5,"3984":3,"3986":4,"3d":[32,33],"3mn":2,"4":[1,2,3,5,10,11,12,35],"40":3,"400001":1,"400002":3,"400016":[1,2],"402009":3,"4023":3,"403344":4,"403347":4,"404":5,"406":2,"4062":3,"408716":4,"4096":[1,2,3,5],"412":[2,5],"412561":5,"414233":5,"415":5,"41576":4,"416":[2,5],"4194304":1,"420":5,"420235":3,"421":5,"42142":4,"423":5,"428":5,"428372":4,"428568":1,"428801":3,"429":5,"429186":5,"429770":1,"430":5,"430545":3,"431969":4,"433562":5,"438":5,"44":[1,7],"440290":5,"447":5,"447482":5,"448255":1,"4492":3,"45":3,"451567":5,"4531":3,"453844":5,"46":3,"460":5,"4608":5,"4609":3,"461":5,"464170":5,"464755":3,"465340":5,"4688":3,"469040":5,"47":3,"472":1,"472468":5,"481278":5,"482":5,"49":3,"491612":3,"492442":3,"4940":1,"498":5,"498981":2,"4m":2,"4x":2,"5":[1,3,4,5,10,49],"500":5,"5000":3,"500614":3,"501303":5,"507":5,"507077":3,"507855":5,"51":3,"511":5,"512":[2,3,4,5],"5120":5,"513091":5,"516392":3,"517949":5,"52":3,"524288":1,"525":5,"526831":3,"527":5,"527060":5,"53":3,"530615":3,"5312":3,"536325":5,"538":5,"54":3,"540320":3,"541":4,"544":5,"546":2,"551302":3,"552988":3,"554":5,"559690":5,"56":3,"5632":5,"563533":3,"563555":3,"563695":3,"566038":2,"566838":2,"568":5,"568431":4,"571423":5,"585":2,"5859":3,"586858":4,"587973":3,"588687":3,"5898":3,"592983":3,"596116":3,"5mn":2,"6":[0,1,3,5],"600000":1,"600589":5,"602666":3,"604870":5,"606":2,"6094":3,"610071":5,"614":[1,2],"6144":5,"615390":1,"62":3,"63":3,"633240":2,"64":[1,3,5],"640":[2,3],"646820":3,"64kb":5,"650282":5,"651187":5,"655":2,"65536":[1,5],"656000":3,"656574":1,"664":2,"6656":5,"666684":2,"67":3,"67086":4,"67108864":1,"6724":1,"68":3,"682":2,"683877":5,"684218":5,"686414":5,"688790":3,"6953":3,"696898":5,"7":[0,1,3,5,10],"70":3,"7031":3,"703707":2,"705656":2,"7070":3,"707223":3,"707878":4,"708969":5,"71":3,"7168":5,"719258":4,"719317":3,"72":3,"722":[1,2],"724127":5,"729961":5,"73":3,"730667":3,"733401":2,"737435":1,"74":3,"743443":4,"7500":3,"754967":2,"756754":5,"76":[1,3],"761846":5,"767446":5,"768":[2,3],"7680":5,"768000":3,"77":3,"773130":3,"776119":3,"78":3,"780":1,"781":2,"79":3,"791782":3,"79719":4,"798314":3,"8":[1,2,3,5,10,11,12,47,49],"80":[3,49],"800002":1,"806694":4,"809875":3,"81":3,"811163":1,"811310":5,"812":[1,2],"814":2,"814814":2,"817432":4,"818":[3,7],"8192":[1,5],"82":3,"823517":[1,2],"83":3,"833":1,"838026":4,"8388608":1,"84":3,"842":1,"84284":4,"843":1,"845844":5,"847":1,"848":1,"849":1,"849059":5,"85":3,"850":1,"857144":5,"857162":5,"86":3,"862216":5,"867254":3,"87":3,"8704":5,"877538":3,"88":3,"8828":3,"8867":3,"888887":3,"89":3,"8906":3,"891":[2,7],"8945":3,"896":3,"8mn":2,"9":[0,1,2,3,4,5],"90":3,"905938":3,"908442":3,"91":3,"911986":5,"913776":2,"916747":3,"92":3,"9216":5,"9219":3,"93":[2,3],"932191":3,"9375":3,"94":2,"941930":5,"9492":3,"95":[2,3],"950501":5,"952835":4,"9531":3,"954908":5,"957600":5,"958106":5,"959706":3,"96":[2,5],"9688":3,"97":2,"971190":2,"9728":5,"9733":1,"978909":3,"979315":5,"98":2,"9805":3,"982773":3,"983276":3,"98432":1,"9844":3,"987724":5,"99":5,"990947":5,"994998":3,"995386":3,"995960":2,"998493":3,"999982":5,"999995":1,"abstract":[9,10],"break":10,"byte":2,"case":[1,2,9,10,13,16,17,18,19,20],"class":[2,5,9,10,11,48],"default":49,"do":[2,3,9,10,25,44],"float":[2,9,10,49],"function":[1,2,3,4,5,10,12,13,14,48,49,50],"import":[1,2,3,4,5,9,10],"int":[1,9,10,13,15,21,32,33,39,47,49],"new":[21,39,47],"return":[1,2,3,4,5,15,16,17,18,19,20,23,25,27,29,32,33,34,35,36,37,38,45,46,47,49,50],"static":[0,9,10],"super":3,"switch":3,"true":[1,2,3,5,46],"try":[3,11],"var":[5,10],"voil\u00e0":4,"while":[3,5,9],A:[3,4,9,10],And:[0,3],As:[2,3,4,9,10],At:[4,10],But:4,By:49,For:[3,9,10,11],If:[4,10,35,44,46,48],In:[1,2,3,4,10],It:[1,3,4,6,8,10,14],Of:9,On:10,One:3,The:[1,2,3,4,9,10,16,17,18,19,20,21,23,32,33,34,35,36,37,39,44,46,50],There:1,These:10,To:[1,4,9,10,12],_:5,__expf:2,__init__:[11,48],_db:5,_dropout:4,_dw:5,_layer_norm_bwd_dwdb:5,_layer_norm_bwd_dx_fus:5,_layer_norm_fwd_fus:5,_matmul:3,_seeded_dropout:4,a100:[3,10],a_ptr:3,ab:1,abl:10,about:[1,2,3,4,8],abov:[1,2,3,4,10,12],academ:9,acc:[3,9,10],acceler:9,access:[1,3,9,10,14],accomod:3,accordingli:10,account:10,accumul:[3,5,10],accuraci:[3,9],achiev:[3,9,10],across:[2,4,9,10],activ:3,actual:[3,9,10],add:[1,4,5,7,16],add_kernel:1,addit:[2,6,7,9,49],addition:10,address:[9,25],adopt:10,advanc:[2,3,9],advoc:10,affect:3,affin:10,after:3,against:[0,1,2,3,8],aggress:[9,10],agnost:[9,10],ahead:10,aim:[2,8],al:[9,10],alex:4,algebra:10,algorithm:[3,4,9,10],alia:10,all:[2,3,4,6,9,10,12,27,29,31,45,48],allclos:[2,3],allen1984:10,allen:10,alloc:[1,2,3,5,9],allow:[1,2,5,9,10],along:[1,3,27,29,32,33,45,49],also:[1,2,3,4,5,9,10],altern:4,alwai:[10,46],amd:9,amen:10,amount:[5,9],ampl:10,an:[1,2,3,4,9,10,11,16,17,18,19,20,34,35,36,37],analog:1,analysi:[9,10],analyz:10,ancourt1991:10,ancourt:10,ani:[1,2,3,10,12,13,48],anoth:[2,10],anytim:12,apart:10,apex:5,apex_layer_norm:5,api:48,appear:48,appli:[3,4,5,9,10],applic:[4,10,13],approach:[9,10],appropri:1,approxim:2,ar:[0,1,2,3,4,9,10,12,14,25,31,44,46,48],arang:[1,2,3,4,5],arbitrari:3,architectur:[3,9],area:10,arg:[1,2,3,5,13,14,48],argument:[1,2,3,11,12,13,14,46,48],arrai:[10,47],arrang:3,art:[9,10],artifici:4,arxiv:[9,10],ask:2,aspect:10,asplo:9,assert:[1,3,4],assert_almost_equ:5,assum:[2,48],asynchron:[1,9],atom:[16,17,18,19,20],atomic_ca:5,atomic_xchg:5,auguin1983:9,auguin:9,auto:[2,3,10,11,12,13],autograd:5,autom:9,automat:[2,3,9,10,11],autotun:[3,10],avail:[0,4,9,10],avoid:[2,12,46],awar:9,awkward:4,axi:[1,2,3,4,5,27,29,32,33,45,48],b:[3,5,9,10],b_ptr:3,back:[1,2,3,4,5],backpropag:4,backward:5,bad:4,baghdadi2021:[9,10],baghdadi:[9,10],balanc:10,bandwidth:2,base:[4,8,9,10],basic:[1,6,10],becom:9,been:[1,9,10],befor:[3,12,16,17,18,19,20],begin:10,behavior:[10,12],being:[2,4],believ:10,below:[4,6,10],bench:0,bench_layer_norm:5,benchmark:[0,5,49,50],benefit:[2,9,10],best:[1,9],between:[1,9],bia:5,bit:4,block:[1,2,3,4,9,10,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,34,35,36,37,38,39,40,41,42,43,44,45,46,47],block_siz:[1,2,4,5,10,12,13],block_size_k:3,block_size_m:[3,5],block_size_n:[3,5],block_start:[1,4],blue:[1,2,3,5],boil:10,bool:[46,48],both:[10,46],bound:[1,2,3,10],branch:10,broad:9,broadcast:[21,25,44,46],buffer:5,build:[0,3],built:[1,10],c:[3,9,10],c_mask:3,c_ptr:3,cach:[9,10,25],cache_modifi:25,call:[1,3,10,14,35],callabl:[1,13,14,49],can:[0,1,2,3,4,9,10,12,50],cannot:[3,9,10],capabl:[8,9],cast:5,cd:0,cdiv:[1,3,4,5],ceil:13,certain:13,cgo:[9,10],challeng:4,chang:[3,4,12,25],chapter:8,characterist:10,cheap:9,check:[3,8],checkpoint:4,chen2018:9,chen:9,chip:2,choic:8,click:[1,2,3,4,5],clone:[0,5],close:10,cmake:0,cmp:[16,17,18,19,20],coalesc:9,code:[1,2,3,4,5,6,9,10],col:[3,5,10],col_offset:2,color:48,column:[2,3],com:0,combin:9,come:[2,3,10],command:0,common:10,commonli:10,compar:[2,3,4,5,8,10,16,17,18,19,20],compat:23,compil:[2,3,8,9,11,14,31],complet:10,complex:10,compos:[4,9],composit:10,comprehens:[9,10],comput:[4,5,8,9,10,13,22,24,26,28,30,40,41,42,43],computation:[9,10],concern:10,concis:[1,48],condit:[10,46],config:[3,12],configur:[3,11,12,50],confirm:2,connectom:9,consecut:10,consequ:9,consid:2,consist:4,constraint:[3,10],construct:9,constructor:48,consum:3,contain:[10,16,17,18,19,20,48],contextu:10,contigu:[3,15,38],control:[9,10],conveni:3,convert:[1,3,14],convolut:9,cooper:11,copi:[4,9,16,17,18,19,20],core:[9,10],correct:1,correspond:[1,2,3,48],cosin:22,cost:10,could:[2,10],count:5,cours:9,cpython:0,creat:[1,2,3,5,9],crucial:4,csv:1,ctx:5,cubla:[3,9],cuda:[1,2,3,4,5,9],cudnn:9,current:33,custom:[1,2,3,8],cut:3,cvpr:9,d:[2,4,12,14],dart:10,darte1999:10,data:[1,3,4,5,9,10,16,17,18,19,20,25,46,47],data_ptr:14,dataflow:10,david:4,db:5,db_ref:5,db_tri:5,deal:4,decad:9,decim:5,declar:1,decompos:10,decor:[1,3,12,13,14],decreas:4,dedic:3,deep:[3,4,9,10],def:[1,2,3,4,5,12,13],defin:[1,2,3,10,25],definit:10,denomin:2,denot:1,dens:10,depend:[0,10,46],deploi:9,describ:[4,10],design:10,desir:[21,39],detail:[3,10],detect:9,develop:[9,10],devic:[1,2,3,5],dg:5,dialect:10,dict:13,dictionari:[11,13],diesel:10,differ:[1,2,3,4,9,10,48],difficult:10,difficulti:[3,9],dijkstra82:10,dijkstra:10,dim:[2,5,10],dimens:[3,23,27,29,45],dimension:[3,10,23],dir:0,direct:3,disjoint:10,disk:1,dissert:10,distribut:[2,4,10],divis:3,dnn:[8,9,10],do_bench:[1,2,3,5],doc:4,doe:[1,2,3,10],doesn:[5,10],domain:[9,10],don:[1,2,3],done:[3,9,27,29,45],dot:3,doubli:3,doubt:10,down:[3,10],download:[0,1,2,3,4,5,6],dram:[1,2],dropout:[6,7],dror:4,dsl:[8,9,10],dtype:[1,2,3,5,16,17,18,19,20,25,44,47],dw:5,dw_ref:5,dw_tri:5,dx:5,dx_ref:5,dx_tri:5,dy:5,e:[0,2,3,4,9,10,47],each:[1,2,3,4,5,9,10,11,13],eas:10,easi:[3,4],easier:[1,2,9],easili:3,ed:[1,3],education:2,effect:10,effici:[3,4,9,36],effort:10,either:[1,32,33,46],elango2018:10,elango:10,element:[1,2,3,4,5,22,24,26,27,28,29,30,40,41,42,43,44,45,46,48],element_s:[2,5],element_ti:[16,17,18,19,20,25,44],elementwis:[2,25],els:[3,5],emerg:9,empti:[3,5],empty_lik:[1,2,4,5],enabl:10,encod:10,encourag:4,end:[9,10,15],enforc:10,engin:10,enqueu:[1,2,5],ensur:10,entir:10,entri:36,environ:8,ep:5,equal:10,error:3,especi:9,et:[4,9,10],euromicro:9,evalu:[3,4,12,46],even:[4,10],evidenc:9,evolv:9,exampl:[1,2,3,4,5,6,9,10,11],exchang:20,execut:[7,9,10,11,50],exist:[9,10],exp:2,expect:[2,16,17,18,19,20],expens:[9,10,13],explor:[4,9],exponenti:[2,24],express:[9,10],extar:1,extend:[3,4],extract:3,extrem:10,f:[1,2,3,10],facilit:[9,10],fact:10,fairli:3,fals:[25,44,46,48,49],far:2,fast:[2,5,9,10],faster:[2,35],fastest:10,featur:5,feel:3,fetch:9,few:10,field:9,figur:10,file:[1,2,3,7],fill:47,final_db:5,final_dw:5,fine:4,first:[1,3,4,5,8,10,23,28,30],first_pid_m:3,firstli:4,fit:2,fix:48,flag:2,flatten:38,flexibl:9,float16:[3,5,23,47],float32:[1,2,3,4,5,23,34,37],flow:[9,10],fly:4,fn:[14,49],focu:[3,10],folder:4,follow:[0,2,3,8,9,10],footprint:4,forc:4,forget:1,formal:10,format:10,forward:5,found:[16,17,18,19,20],foundat:10,four:36,fp16:3,fp32:3,frac:4,framework:[9,10],free:3,from:[1,2,3,4,9,10,25,46],full:[1,2,3,4,5],fulli:10,func:10,fundament:10,further:[4,10],fuse:[3,5,6,7],fusedlayernorm:5,fusion:[2,10],g:[3,4,9,10,47],galleri:[1,2,3,4,5,6],gb:[1,2,5],gbp:[1,2,5],gener:[1,2,3,4,5,6,9,10,34,35,36,37,48],geoffrei:4,geq:10,get:[1,2,3,4,7],girbal2006:10,girbal:10,git:0,github:0,give:9,given:[2,3,4,21,32,33,34,35,36,37,39,47],global:10,go:[1,3,10],good:[1,10],gpgpu:9,gpu:[1,2,4,8,9,10,11,14],grad:5,grad_to_non:[5,49],gradient:[5,49],grammat:10,graphic:9,greater:2,green:[1,2,3,5],grid:[1,2,3,4,5,32,33],grid_m:3,grid_n:3,grosser2012:10,grosser:10,group:3,group_id:3,group_m:3,group_size_m:[3,5],grow:10,guard:[1,2],guid:9,ha:[1,3,4,9,10,32,33],had:1,halid:[9,10],hand:10,handl:[1,2,4,10],handwritten:9,hard:3,harder:10,hardwar:[3,8,10],hasn:1,have:[2,4,9,10,14,23,46,48],heavi:9,helper:[1,2],henc:3,here:[1,2,3,4,5],heurist:[2,5],hierarch:9,hierarchi:10,high:[3,9,10],higher:3,highli:9,highlight:10,hint:10,hinton:4,hit:3,how:[1,2,3,8,9,13],howev:[2,10],html:4,http:[0,4],i:[1,2,3,4,5,9,10],id:[3,33],idea:9,ideal:2,ident:2,identifi:1,idx:[25,44],ilya:4,imag:[9,10],implement:[1,2,3,4,9,10],implicitli:[1,14,25,44],importantli:10,impos:10,improv:[3,4],incompat:[3,10],incorrect:3,increas:[1,2,3,4],incred:9,increment:10,inde:10,independ:[2,5,10],index:1,indic:[10,46],induc:10,industri:9,inequ:10,inf:2,inform:10,infrastructur:10,initi:[1,3],inner:[3,23],inplac:3,input:[1,2,3,4,5,10,13,21,22,23,24,26,27,28,29,30,31,38,39,40,41,42,43,45],input_ptr:2,input_row_strid:2,instal:8,instanc:[1,2,3,4,5,9,11,32,33],instanti:4,instead:[2,46],instruct:[8,9],int1:[25,44],int32:[4,5,35,36],integ:10,interchang:10,interest:[5,9,10],intermedi:10,intern:[2,10],interv:15,intrins:10,introduc:4,introduct:8,invari:[2,10],invoc:4,ipynb:[1,2,3,4,5],ir:10,irregular:[2,10],is_contigu:[3,4],is_cuda:1,isn:3,issu:[9,10],iter:[3,9,10],its:[1,2,3,10],j:[3,9,10],jit:[1,2,3,4,5,12,13],jmlr:4,john:4,johnson:4,journal:10,jrk2013:9,jupyt:[1,2,3,4,5,6],just:[3,10,13],k:[3,4,9,10],kb:9,keep:4,kei:[3,9,12],kellei:9,kernel:[4,5,8,9,11,12,13],keyword:[1,11],ki:10,kind:2,know:31,known:10,krizhevski:4,kwarg:14,l2:5,label:[1,2,3,48],lam1991:9,lam:9,lambda:[1,2,3,4,5,13],languag:[1,2,3,4,5,8,9,14],larg:[9,10],last:3,later:[2,10],latest:0,lattner2004:10,lattner2019:10,lattner:10,launch:[1,2,3,32,33],law:10,layer:[6,7,9,10],layer_norm:5,layernorm:5,lead:[4,9,10],leaky_relu:3,leakyrelu:3,learn:[1,2,3,4,8,9,10],least:10,lee2017:9,lee:9,left:10,legal:10,length:1,less:[4,5,9,10],let:[1,2,4,31],letter:10,level:[3,9,10],li:9,librari:[0,3,9,10],lifelong:10,like:[1,4,9,10,35],limit:[2,4],lindenstrauss:4,line:[1,2,3,4,10,48],line_arg:[1,2,3,5,48],line_nam:[1,2,3,5,48],line_v:[1,2,3,5,48],linear:[9,10],link:0,list:[1,3,12,13,48,49,50],litteratur:10,ll:4,llvm11:0,llvm:[0,10],load:[1,2,3,4,5,10,46],local:[9,10],locat:[3,16,17,18,19,20,25,44],lock:5,lock_id:5,log2:13,log:48,logarithm:[1,26],look:[4,8,9],loop:[3,10,11],low:[6,7,10],m:[0,2,3,5,9],machin:[9,10],machineri:[9,10],made:9,mai:[2,10,13],main:[3,9,10],maintain:[2,10],major:[3,10],make:[1,2,9,10],manag:[4,9],mani:[1,9,10],manual:[2,10],manual_se:[1,2,3],map:3,mapl:10,mark:[4,50],markedli:9,mask:[1,2,3,4,5,16,18,19,20,25,44,46],match:[3,16,17,18,19,20],math:13,mathbb:10,mathbf:10,mathcal:[10,37],mathemat:10,matmul:[3,10],matmul_kernel:3,matric:[2,3],matrix:[2,4,6,7,9,10,11,23],matrix_s:10,matter:[3,9,10],max:[1,2,5,18],max_fused_s:5,max_m:[1,2,3,5],maxim:[8,10,36],maximum:[1,2,27],mb:[7,9],mean1:5,mean2:5,mean:[3,5,10,12],mechan:[2,10],median:49,memori:[1,2,3,6,7,9,10,16,17,18,19,20,25,44,46],mention:3,meta:[1,2,3,4,5,11,12,13],metaparamet:1,method:[10,11,14,48,50],methodolog:10,micro:9,min:[3,5,19],min_m:[1,2,3,5],minimum:29,minut:[1,2,3,4,5],miss:10,mitig:10,ml:9,mlir:10,mn:2,mode:5,model:[1,9,10],modern:[3,8,9,10],modular:10,moor:10,mora:4,more:[2,3,4,8,9,10,48],most:[3,10],mostli:11,move:3,movement:4,ms:[1,2,3,5,49],much:[2,3],mullapudi2016:10,mullapudi:10,multi:[3,9,10],multipl:[1,4,6,7,9,10,11,12,31,35],multipli:[3,4,5,10,23],must:[2,3,15,23,46],n:[2,3,5,9,37],n_col:2,n_element:[1,4],n_row:2,naiv:[2,4],naive_softmax:2,name:[1,2,3,12,13,48],nativ:[1,2,3],natur:[2,9,26],nb:9,necessari:2,need:[1,2,3,4,35],nelement:2,nest:[3,10],net:10,network:[4,9,10],neural:[4,9,10],neurosci:9,never:4,next:[2,3],next_power_of_2:[2,5],nightli:0,nip:9,nitish:4,nn:[3,5],non:9,none:[2,3,5,12,16,18,19,20,25,44,48,49],nonzero:46,norm:[4,5,7],normal:[2,3,6,7],normalized_shap:5,note:[0,1,2,3,4,10,12,14,46],notebook:[1,2,3,4,5,6],notic:[2,10],notori:[3,9],novel:9,now:[1,3],num_pid_in_group:3,num_pid_m:3,num_pid_n:3,num_stag:[3,11],num_warp:[2,3,5,11,12],number:[1,2,3,4,5,10,11,32,34,35,36,37],numel:[1,4,5],numer:[2,9],nvidia:[9,25],o:[2,4],object:[1,3,9,11,12,14,16,17,18,19,20],obtain:1,obvious:2,occur:10,off:5,offer:9,offici:0,offs_am:3,offs_bn:3,offs_cm:3,offs_cn:3,offs_k:3,offset:[1,4,5,34,35,36,37],often:3,omega:10,onc:[2,9,10],one:[2,3,4,5,6,9,10,48],onli:[2,3,4,9,10,14],op:[1,2],open:15,openai:0,opencl:9,oper:[1,2,3,4,6,9,16,17,18,19,20,46],opportun:9,opsila:9,optim:[9,10],option:[1,3,25,44,48,49],orang:5,order:[2,3,6,10],org:4,origin:10,osdi:9,other:[2,3,4,5,8,10,14,23,25,28,30],otherwis:[4,46],our:[1,2,3,9],out:[1,2,3,4,5,8,10],outlin:10,output2:4,output3:4,output:[1,2,3,4,5],output_ptr:[1,2,4],output_row_start_ptr:2,output_row_strid:2,output_torch:1,output_triton:1,over:[2,4,9,10],overfit:4,overflow:2,own:3,p:[4,10],pa:3,packag:14,pact:10,pad:2,par:3,paradigm:[9,10],paragraph:4,parallel:[1,2,3,4,5,8,9,10,11],paralleliz:9,param:13,paramet:[1,3,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],parametr:9,part:[3,4,10],partial:5,partial_db:5,partial_dw:5,particular:[2,3],particularli:[9,10],partit:9,pass:[1,5,10,11],past:[9,10],path:1,pattern:9,pb:3,peak:10,per:[2,4,5],percentil:49,perf:3,perf_report:[1,2,3,5,48],perform:[1,2,4,9,10,16,17,18,19,20,49],persist:4,person:10,perspect:10,pgm:1,phase:10,philosophi:10,philox:[4,36],pid:[1,3,4,5],pid_m:3,pid_n:3,pip:0,pipelin:[9,10,11],platform:[8,10],pldi:9,plot:[0,1,2,3,48],plot_nam:[1,2,3,5,48],pmatrix:10,point:[1,10,36],pointer:[1,2,4,5,14,16,17,18,19,20,25,44],pointerdtyp:[16,17,18,19,20,25,44],polli:10,polyhedr:9,polyhedra:10,popular:10,portabl:[9,10],pose:9,posit:[5,13],possibl:[1,2,3,10,11],power:[2,4,10,13,15],ppopp:10,practic:[1,2,3,9],pragma:9,pre:[0,9],prealloc:1,predict:10,prefer:2,premis:9,present:[0,3],preserv:10,preserve_rng_st:4,prevent:[4,10],primer:10,primit:[9,14],principl:10,print:[1,2,3,4],print_data:[1,2,3,5],prng:4,probabl:[4,10],problem:1,problemat:10,procedur:10,process:[1,5,9,10],processor:9,produc:[3,4],product:[8,10,23],program:[1,2,3,4,5,8,9,32,33],program_id:[1,2,3,4,5],programm:[9,10],prohibitev:13,project:[4,9],promot:[3,10],properli:2,properti:10,propos:9,proprietari:3,provid:[1,2,3,4,5,8,10,12,27,29,45,49],prune:4,pseudo:[3,4,36],pseudorandom:4,ptr:3,ptx:25,purpos:[9,10],push:10,put:4,py:[0,1,2,3,4,5,7],pypi:0,pytest:0,python:[1,2,3,4,5,6,14],pytorch:[1,2,4],qquad:10,r:[0,2],ragan:9,rais:5,rand:[1,4,5],randint4x:35,randn:[2,3,4,5],randn_lik:5,random:[4,34,35,36,37],randomli:4,rang:[1,2,3,5,9,10],rapidli:[9,10],rate:3,rather:9,raw:1,rdom:10,re:[1,3],read:[2,3,6],reader:10,real:9,reason:10,recent:9,recommend:6,recomput:[4,9],record_clock:49,rectifi:9,redmon2016:9,redmon:9,reduct:[2,5,27,29,45],refer:1,regardless:[4,46],regim:4,regrett:9,regular:[4,10],rel:[1,10],relat:8,releas:[0,5,9],reli:10,relu:3,remain:[9,48],rememb:3,reorder:10,rep:[5,49],repetit:49,repres:[2,3,10,11],requir:[0,2,4,10],requires_grad:5,requires_grad_:5,research:[9,10],reset:[12,49],reset_to_zero:12,reshap:5,resolut:10,resourc:9,resp:10,respect:10,restrict:10,result:[0,1,2,9,10],ret:2,retain_graph:5,retriev:10,reus:3,revisit:9,right:10,rise:10,role:10,ron:4,root:43,roughli:3,row:[2,3,4,5],row_idx:2,row_minus_max:2,row_start_ptr:2,rstd:5,run:[0,1,2,3,4,5,8,10,12,14,50],runtim:[10,49],runtimeerror:5,ruslan:4,rvar:10,s:[1,2,4,5,10,36],said:10,salakhutdinov:4,salmon2011:4,salmon:4,same:[4,9,48],sato2019:10,sato:10,save:[1,2,3],save_for_backward:5,save_path:[1,5],saved_tensor:5,sc:10,scalabl:10,scalar:[4,9,23,34,35,36,37,47],scale:48,scan:10,schedul:9,scienc:10,scientif:10,scop:10,scope:10,script:[0,1,2,3,4,5],second:[1,2,3,4,5,10,23,28,30],secondli:4,section:[3,10],see:[1,2,3,4,10],seed:[34,35,36,37],seeded_dropout:4,seem:[1,10],select:[9,10,46],self:[11,48],semant:10,semi:10,sens:[1,9,10],separ:[5,10],sequenc:9,set:[1,4,10],setup:0,sever:[9,10],shall:10,shape:[2,3,4,5,10,21,25,39,44,46,47],share:9,shaw:4,shift:2,should:[1,3,9,10,11,27,29,45,48],show_plot:[1,2,3],shown:10,side:10,sight:10,signal:9,significantli:2,sigplan:10,simd:9,simpl:[1,2,3,4],simplest:6,simpli:10,simplic:3,simplifi:4,sinc:[1,2,3],sine:41,singl:[2,4,9,35],size:[1,2,4,10],slower:[9,10],slowest:10,sm80:11,sm:10,smaller:[3,4],smallest:[2,13],snemi3d:9,so:[1,2,3,4,10],softmax:[4,6,7],softmax_kernel:2,softmax_output:2,softwar:11,solid:10,solut:3,solv:10,some:3,sometim:10,sourc:[1,2,3,4,5,6,10],space:[9,10],spars:[4,9,10],spatial:10,speak:3,special:9,specif:[3,9],specifi:[10,13,16,17,18,19,20,44],speed:2,sphinx:[1,2,3,4,5,6],split:10,spmd:[1,9,10],sqrt:5,squar:43,sram:[2,3,5],srivastava2014:4,srivastava:4,stabil:2,stabl:0,stage:11,stai:5,standard:10,start:[5,6,15],started_tutori:7,state:[4,9,10],statement:10,staticmethod:5,std:5,step:10,still:[1,2,3,10],stop:15,store:[1,2,3,4,5,16,17,18,19,20,46],str:[12,13,25,48],straightforward:3,strategi:[4,10],stream:[5,35],strength:9,stride:[2,3,4,5],stride_ak:3,stride_am:3,stride_bk:3,stride_bn:3,stride_cm:3,stride_cn:3,stride_xi:3,stride_xj:3,structur:[9,10],style:[1,2,3,5,48],subscript:10,substanti:9,substract:2,subtract:2,successfulli:10,suffer:10,suit:9,sum:[1,2,5],sum_db:5,sum_dw:5,superhuman:9,support:[4,5,10],sure:2,surprisingli:9,surround:10,suspicion:2,sutskev:[4,9],sutskever2014:9,swap:[16,17,18,19,20],swizzl:9,synchron:[1,9],system:[0,3,9,10],t:[1,2,3,5,10],t_:10,tabul:4,taco:10,take:[3,4,8,13],taken:10,target:9,techniqu:[3,9,10],temperatur:4,tempor:10,tend:10,tension:9,tensor:[1,2,3,4,5,9,10,12,14,49],tensorrt:9,test:[0,1,5,8],test_layer_norm:5,text:10,tflop:3,th:49,than:[2,3,5,9,10,35,48],thei:[3,9,10],them:1,themselv:3,theoret:2,therebi:10,therefor:3,theta:10,theta_:10,thi:[1,2,3,4,5,9,10,12,13,14,36,48],thing:[1,4],think:2,those:2,though:[9,10],thought:10,thread:[2,9,11],through:[6,10],throughout:[10,48],throughput:8,tile:10,time:[0,1,2,3,4,5,9,10,12,35,49],tiramisu:[9,10],tl:[1,2,3,4,5,47],tmp:0,tog:10,togeth:4,tolist:4,topic:10,torch:[1,2,3,4,5,14,49],torch_output:3,torch_relu:3,total:[1,2,3,4,5,7],tradit:[4,9,10],transform:[4,10],travers:10,trend:9,tri:[21,39],trick:2,tricki:4,trigger:[3,12],triton:[0,1,2,3,4,5,6,9,10],triton_output:3,trivial:9,tune:[2,3,10,12,13],tuner:11,tupl:[1,21,39,47],tutori:[1,2,3,4,8],tutorials_jupyt:6,tutorials_python:6,tvm:[9,10],two:[1,2,3,10,12,13,15,23],txt:0,type:[13,23,25,46,47],typecast:[25,44],typic:10,u:[0,34],un:10,uncommon:10,underneath:10,understand:2,undesir:12,unfortun:[3,10],unifi:9,uniformli:4,unint:46,unit:[0,9],univers:10,unrol:10,up:2,updat:[3,10,12],us:[1,2,3,4,5,9,10,11,12,13,14,35,46,48,50],util:[1,5],v100:10,v:5,val:[16,17,18,19,20],valid:1,valu:[1,2,3,4,12,13,15,16,17,18,19,20,22,24,25,26,27,29,31,40,41,42,43,44,45,46,47,48,50],valuabl:2,variabl:[3,11],variant:9,variou:6,vasilach:[9,10],vasilache2018:[9,10],vast:10,vec:10,vector:[4,6,7,9,10],vendor:3,veri:[2,4,10],verif:10,verifi:[2,10],via:10,view:38,visibl:10,vision:9,vs:0,w:[5,10],w_shape:5,wa:4,wai:[2,3,4],want:[2,4,46],warmup:49,warp:[2,5,11],wast:2,wdy:5,we:[1,2,3,4,9,10],weight:5,well:[4,9,10],whatev:12,wheel:0,when:[2,3,4,9,10,11,12,14,46],where:[1,3,4,5,10,13,44],whether:[9,48],which:[1,2,3,4,5,9,10,12,27,29,45,48],whose:[1,2,3,4,10,12,25],wide:10,wise:[1,2,22,24,26,28,30,40,41,42,43,44],wish:[3,10],within:[3,14,15],without:10,wolf:10,wolfe1989:10,won:2,word:10,work:[2,4,8,9],workload:[3,11],wors:[3,9,10],would:[1,2,4],wouldn:10,wrapper:3,write:[1,2,3,4,5,6,8,10],wrote:2,x:[1,2,3,4,5,10,22,24,26,28,30,38,40,41,42,43,46,48],x_arg:5,x_keep:4,x_keep_ptr:4,x_log:[1,48],x_max:2,x_name:[1,2,3,5,48],x_ptr:[1,4,12,13],x_shape:5,x_size:[12,13],x_val:[1,2,3,5,48],xhat:5,xi:10,xii:10,xlabel:48,xmean:5,xo:10,y:[1,2,3,5,10,28,30,46,48],y_fwd:5,y_log:48,y_name:[1,2],y_ptr:1,y_ref:5,y_torch:2,y_tri:5,y_triton:2,year:10,yet:[9,10],yi:10,yield:46,yii:10,ylabel:[1,2,3,5,48],yo:10,you:[0,1,2,3,4,6,9,12,35,46],your:[0,1,8],yourself:[2,3],z:[1,2,10],zero:[3,4,5,12],zip:6},titles:["Installation","Vector Addition","Fused Softmax","Matrix Multiplication","Low-Memory Dropout","Layer Normalization","Tutorials","Computation times","Welcome to Triton\u2019s documentation!","Introduction","Related Work","triton.Config","triton.autotune","triton.heuristics","triton.jit","triton.language.arange","triton.language.atomic_add","triton.language.atomic_cas","triton.language.atomic_max","triton.language.atomic_min","triton.language.atomic_xchg","triton.language.broadcast_to","triton.language.cos","triton.language.dot","triton.language.exp","triton.language.load","triton.language.log","triton.language.max","triton.language.maximum","triton.language.min","triton.language.minimum","triton.language.multiple_of","triton.language.num_programs","triton.language.program_id","triton.language.rand","triton.language.randint","triton.language.randint4x","triton.language.randn","triton.language.ravel","triton.language.reshape","triton.language.sigmoid","triton.language.sin","triton.language.softmax","triton.language.sqrt","triton.language.store","triton.language.sum","triton.language.where","triton.language.zeros","triton.testing.Benchmark","triton.testing.do_bench","triton.testing.perf_report","triton","triton.language","triton.testing"],titleterms:{"final":3,addit:1,advantag:10,algebra:52,api:8,arang:15,arithmet:3,atom:52,atomic_add:16,atomic_ca:17,atomic_max:18,atomic_min:19,atomic_xchg:20,autotun:12,baselin:4,benchmark:[1,2,3,48],binari:0,broadcast_to:21,cach:3,challeng:9,co:22,comparison:52,compil:[10,52],comput:[1,2,3,7],config:11,creation:52,distribut:0,do_bench:49,document:8,dot:23,dropout:4,exercis:4,exp:24,from:0,further:8,fuse:2,gener:52,get:8,go:8,heurist:13,hint:52,index:52,instal:0,introduct:9,jit:14,kernel:[1,2,3],l2:3,languag:[10,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,52],layer:5,limit:10,linear:52,load:25,log:26,low:4,manipul:52,math:52,matrix:3,max:27,maximum:28,memori:[4,52],min:29,minimum:30,model:52,motiv:[2,3,9],multipl:3,multiple_of:31,normal:5,num_program:32,number:52,op:52,optim:3,packag:0,perf_report:50,perform:3,pointer:3,polyhedr:10,program:[10,52],program_id:33,python:[0,8],rand:34,randint4x:36,randint:35,randn:37,random:52,ravel:38,reduct:52,refer:[4,9,10],relat:10,represent:10,reshap:39,result:3,s:8,schedul:10,seed:4,shape:52,sigmoid:40,sin:41,softmax:[2,42],sourc:0,sqrt:43,squar:3,start:8,store:44,sum:45,test:[2,3,48,49,50,53],time:7,triton:[8,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53],tutori:6,unit:[2,3],vector:1,welcom:8,where:46,work:10,zero:47}}) |