Mercurial > hg > Members > innparusu > Gears
view doc/Cerium_on_Gears.mm @ 109:059b26a250cc
Change put_queue process
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 02 May 2016 20:02:09 +0900 |
parents | 2a40d697bf4e |
children |
line wrap: on
line source
<map version="1.0.1"> <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net --> <node CREATED="1435308827952" ID="ID_131842877" MODIFIED="1435309957718" TEXT="Cerium on Gears"> <node CREATED="1435308839544" ID="ID_1530623033" MODIFIED="1435308850391" POSITION="right" TEXT="cerium api"> <node CREATED="1435308850393" ID="ID_771810602" MODIFIED="1435308853069" TEXT="create task"/> <node CREATED="1435308853639" ID="ID_823697037" MODIFIED="1435308855797" TEXT="set input"/> <node CREATED="1435308856222" ID="ID_870389873" MODIFIED="1435308859077" TEXT="set output"/> <node CREATED="1435308859542" ID="ID_1165664665" MODIFIED="1435308861141" TEXT="wait for"/> <node CREATED="1435308861654" ID="ID_1136492416" MODIFIED="1435308864365" TEXT="aset cpu"/> </node> <node CREATED="1435308879270" ID="ID_1778771194" MODIFIED="1435308886484" POSITION="left" TEXT="data segmentの中身が重要"> <node CREATED="1435308887547" ID="ID_47150659" MODIFIED="1435308893083" TEXT="待ち合わせするDS"/> <node CREATED="1435308893954" ID="ID_1795329909" MODIFIED="1435308898243" TEXT="出力するDS"/> </node> <node CREATED="1435308950534" ID="ID_1871831352" MODIFIED="1435308956875" POSITION="right" TEXT="stackをどれくらい取るか"> <node CREATED="1435308956876" ID="ID_947936114" MODIFIED="1435308968225" TEXT="DSを使う位なら大丈夫"/> <node CREATED="1435308968664" ID="ID_1618545981" MODIFIED="1435308983424" TEXT="ライブラリを呼ぶ場合に重要"/> </node> <node CREATED="1435309121221" ID="ID_1162276288" MODIFIED="1435309122451" POSITION="left" TEXT="allocate"> <node CREATED="1435309100165" ID="ID_553961118" MODIFIED="1435309169731" TEXT="idsをodsはallocate"/> <node CREATED="1435309146987" ID="ID_1150211352" MODIFIED="1435309173121" TEXT="他のDSを含めたallocate"/> </node> <node CREATED="1435309184094" ID="ID_1163048841" MODIFIED="1435309190960" POSITION="right" TEXT="待ち合わせ"> <node CREATED="1435309190961" ID="ID_926746897" MODIFIED="1435309310205" TEXT="必要なidsを揃える"/> <node CREATED="1435309356508" ID="ID_561850496" MODIFIED="1435309398097" TEXT="iDSはpersistentとtemporaryがある"> <node CREATED="1435309794476" ID="ID_942197716" MODIFIED="1435309816682" TEXT="persistentなDSのAPIはAlice参照"/> </node> <node CREATED="1435309402946" ID="ID_987543601" MODIFIED="1435309414753" TEXT="最初はtemporaryなDSが処理を行って終わり"/> </node> <node CREATED="1435309821416" ID="ID_1476250155" MODIFIED="1435309824065" POSITION="left" TEXT="create task"> <node CREATED="1435309824624" ID="ID_564912499" MODIFIED="1435309846006" TEXT="schedulerへのアクセス"> <node CREATED="1435309846007" ID="ID_155507674" MODIFIED="1435309857416" TEXT="アクセスはパラメータで指定する"/> </node> <node CREATED="1435309858848" ID="ID_718589347" MODIFIED="1435309871215" TEXT="contextは共通(とりあえずmany coreで)"/> <node CREATED="1435309873057" ID="ID_465190157" MODIFIED="1435310606993" TEXT="create taskを読んだときはDsは全部用意していない"> <node CREATED="1435309900384" ID="ID_1324744496" MODIFIED="1435309908462" TEXT="queueに使うDSを保存させる"/> </node> <node CREATED="1435309964946" ID="ID_1958597373" MODIFIED="1435309999179" TEXT="あるodsからidsを要して全部Readyになったらactive queueにいれる"> <node CREATED="1435310018787" ID="ID_988326162" MODIFIED="1435310057457" TEXT="ceriumは一度Listにしているが、今はcontextをいれる"/> </node> <node CREATED="1435310066968" ID="ID_980999504" MODIFIED="1435310099743" TEXT="用意できたらcoreにtaskをふり分ける"/> <node CREATED="1435310478346" ID="ID_1423861354" MODIFIED="1435310489729" TEXT="新しいcontextを作ってinputのqueueにいれるだけ"/> </node> <node CREATED="1435310119606" ID="ID_128065003" MODIFIED="1435310125271" POSITION="right" TEXT="scheduler"> <node CREATED="1435310125768" ID="ID_1272208047" MODIFIED="1435310146422" TEXT="schedulerはsynchronized queueを持っている"/> <node CREATED="1435310152015" ID="ID_427259960" MODIFIED="1435310170940" TEXT="pipelineにする?(これはまたあとで)"/> <node CREATED="1435310179093" ID="ID_1872835868" MODIFIED="1435310189484" TEXT="他のDSを用意している間に他のDSを実行する"/> <node CREATED="1435310195930" ID="ID_1403963109" MODIFIED="1435310201765" TEXT="writeしたのを教える必要がある"> <node CREATED="1435310201766" ID="ID_602537190" MODIFIED="1435310213427" TEXT="many coreを勝手に書き換える(Casでatomicに)"/> <node CREATED="1435310220332" ID="ID_923547780" MODIFIED="1435310228059" TEXT="synchronized queueでmainのtaskに戻す"/> <node CREATED="1435310230199" ID="ID_530379005" MODIFIED="1435310275368" TEXT="それぞれのschedulerで勝手に書くのが面白い"/> </node> <node CREATED="1435310333829" ID="ID_1432559517" MODIFIED="1435310387909" TEXT="待ってるtaskのpoolをschedulerが勝手にIDSをactive queueにいれる(schedulerが待ちtaskを取り合う)"> <node CREATED="1435310391704" ID="ID_1668940684" MODIFIED="1435310421467" TEXT="実装はpoolingでもよいしsynchronized queueでもよい"/> <node CREATED="1435310422341" ID="ID_1365380151" MODIFIED="1435310439995" TEXT="GPUでやった場合はよくわからない"/> <node CREATED="1435310440433" ID="ID_1863232092" MODIFIED="1435310457178" TEXT="単一のschedulerにtaskを取り合う"/> </node> </node> <node CREATED="1435310492109" ID="ID_17177" MODIFIED="1435310561719" POSITION="left" TEXT="example"> <node CREATED="1435310526215" ID="ID_90616463" MODIFIED="1435310557599" TEXT="temporaryなds同士の演算"/> <node CREATED="1435310562447" ID="ID_1893745957" MODIFIED="1435310566406" TEXT="sort"/> <node CREATED="1435310566919" ID="ID_370953203" MODIFIED="1435310568718" TEXT="word count"/> </node> <node CREATED="1435655123173" ID="ID_476222881" MODIFIED="1435655128583" POSITION="right" TEXT="active task list"/> <node CREATED="1435655131078" ID="ID_1089114952" MODIFIED="1435655136126" POSITION="left" TEXT="wait task list"> <node CREATED="1435655137399" ID="ID_459495369" MODIFIED="1435655144883" TEXT="wait fo"/> </node> </node> </map>