0%

Floorplanning

Floorplanning is typically considered the first stage of VLSI physical design.

  • Given a set of hard blocks (whose shapes cannot be changed) and/or soft blocks (whose shapes can be adjusted) and a netlist,
  • floorplanning determines the shapes of soft blocks and assembles the blocks into a rectangle (chip)
  • so a predefined cost metric (such as the chip area, wire length, wire congestion) is optimized

image-20200301115315810

Placement

Placement is the process of assigning the circuit components into a chip region. (sounds similar with floorplanning?)

  • Given a set of fixed cells/macros, a netlist, and a chip outline,
  • placement assigns the predesigned cells/macros to positions on the chip
  • so that no two cells/macros overlap with each other (i.e., legalization) and some cost functions (e.g., wire length, congestion, and timing) are optimized

Routing

After placement, routing defines the precise paths for conductors that carry electrical signals on the chip layout to interconnect all pins that are electrically equivalent.

image-20200301120727533

Floorplanning

Floorplanning is typically considered the first stage of VLSI physical design.

  • Given a set of hard blocks (whose shapes cannot be changed) and/or soft blocks (whose shapes can be adjusted) and a netlist,
  • floorplanning determines the shapes of soft blocks and assembles the blocks into a rectangle (chip)
  • so a predefined cost metric (such as the chip area, wire length, wire congestion) is optimized

image-20200301115315810

Placement

Placement is the process of assigning the circuit components into a chip region. (sounds similar with floorplanning?)

  • Given a set of fixed cells/macros, a netlist, and a chip outline,
  • placement assigns the predesigned cells/macros to positions on the chip
  • so that no two cells/macros overlap with each other (i.e., legalization) and some cost functions (e.g., wire length, congestion, and timing) are optimized

Routing

After placement, routing defines the precise paths for conductors that carry electrical signals on the chip layout to interconnect all pins that are electrically equivalent.

image-20200301120727533

PyTorch implement Color-GCN中的挫折

Dropout & Long

用Pytorch Implement GCN的时候,有一个error卡了我一天,google也没相关的答案:

1
fused_dropout not implemented for 'long'

自己找了会才发现不是dropout这个value的问题,而是input feature是 long。。。原来torch.Tensor([integer])会默认给int64(Long)而不是int32.。。真是奇怪的feature呢。

Cuda device

1
RuntimeError: Expected object of device type cuda but got device type cpu for argument #2 'mat2' in call to _th_mm

data,features,model全部都cuda()了,结果还是有问题。一个小时后的思索后。本侦探再次破案:

model.cuda() 这个func应该是把所有model中的Tensor 调用一遍 cuda(),大概伪代码就是:

1
2
for Var in model:
Var.cuda()

但是问题在于!

如果Var不是Tensor 而是一个list(别问为啥会是list,菜鸡最喜欢的就是list)

那么Var.cuda()就失效了,这样就需要在initilize的时候就遍历list里面所有的tensor,并调用tensor.to(‘device’)

Floating point exception (core dumped)

1
Floating point exception (core dumped)

网上查了下 这个就是某一步计算分母为0的error。

但是蛋疼的是 没有指示哪一行有错。而且python(或者说dgl还是pytorch)有个蛋疼的feature是这个exception在还没来得及print的时候就会直接跳出程序。(也就是说还不能用简单的print来定位)

最后用IPython embed()很蠢的一步一步。。发现问题是 如果dgl.Graph没有边(G.number_of_edges == 0),那么dgl自己的GATConv (Graph Attention Convolution会有问题),因此加了个dirty code判断这个情况,如果属实就直接生成一个zero vector(其实按道理应该是一个input feature itself,但是在这个work里面(graph color)反正没有边的图就没有利用价值,所以直接变成0)

DGL: Trying to create tensor with negative dimension

一步一步抽丝剥茧发现:

当pytorch的unique函数为gpu版本时,最后结果居然是一个dim=-251的vec(但问题在哪并不知道)。

奇怪的是单独写一个py文件用gpu调用这个函数并没有问题,同样的input同样的设备只有放到这个project里面才会return负数dim的vec。

暂时解决方法,将调用这个函数的func(in /dgl/core.py)改到cpu上:

1
2
unique_val = F.asnumpy(F.unique(sorted_val))
unique_val = F.asnumpy(F.unique(sorted_val.cpu()))

刚刚呼朋唤友又刷了一个本,吃下一粒褪黑素后,潦草的扫了下新闻:一些太过魔幻的东西让我辗转反侧无法入睡,索性起床写下一些东西。

肺炎

从临近过年大概一两个星期,香港这边就是如临大敌的气氛。我和爸妈视频,感觉作为医务工作者的他们,反倒透露出一股歌舞升平的味道,我爸还嘟囔着:香港那帮年轻人不是最爱戴口罩了吗。

囧

不过事情也确实超乎了我的预料:没想过会导致全国范围内的娱乐萧条,没想过能超过SARS,没想过一天确诊数能几千几千的增加。就像是任何事件的导火索一样,这个肺炎给这个魔幻主义的2020一次完美的导火索/开幕式。

记得小学六年级的汶川大地震,那时候看着新闻,妈妈临死前把孩子抱在怀里,把自己最后对孩子的祝语写在了手机上:

亲爱的宝贝,如果你能活着,一定要记住我爱你

那时候有人把这个故事写成了一首歌。考试的时候我做完卷子,就在草稿纸上一边写着歌词一边哭,监考老师还问我怎么了,然后给我递纸。

我一直都是一个容易感动的人,我太喜欢太尊敬太崇拜这种爱了。所以这次看到一些新闻的时候,或像刀割一样难受,或像眼睛想要洗澡一般涌出一股暖流,比如援鄂医疗队里的小护士抱着爸妈哭,比如春晚上几位主持人振聋发聩的演讲,比如日本友人的援助:山川异域,风月同天。

红十字会

除了感动,也有愤怒。

我很鄙视愤恨发国难财的人。这种就像国难当头的带路党,可耻可恨。因此初看到仁爱医院/仁和医院/红十字会的新闻后,真的恨到心里咬牙,忽然又想到自己捐的那点小钱,赶紧打开手机查了下,嘘。。不是捐给红十字会。

可是除了不捐给它,我还能做什么吗?颇有点报国无门,怀帝阍而不见,奉宣室以何年的意思。

然后整个事件开始迸发:迂腐的官僚们也许也想不到互联网时代的能量。太多太多的丑闻,一件一件血淋淋的揭开在人们面前,我甚至有点明白鲁迅先生当年弃医从文了:我学计算机也救不了国人。

我不是一个学政治社会学的人,也发表不了高谈阔论,只能说说自己对于国家的希冀。

我是个比较偏向”五毛“的角色,喜欢中国历史,中国文学,也是有着如郭靖般“侠之大者”家国情怀的人,因此我也不指望、不相信走台湾数典忘祖的路子会好过现在,就像钱穆先生说的,中西文化政治的发展,是在两条发展线上各自独立的东西,中国能发展几千年朝代更替也肯定有其适合中国社会的地方。同时,我也确实才看着中国各方面在逐渐变好:经济发展、政治清明、科研提高,就像外出游玩的旅客:当年红卫兵那一辈的大爷大妈终会老去,我们这一代的大爷大妈素质肯定会越来越高。而且比如十天修医院、廉价学费、不用排长队的医疗资源,许多方面社会主义还是有可取之处的(手动狗头)。(当然我也没在资本主义国家呆过,这些对比信息也只是从互联网获取)

但是我对这个国家的政治体系真的失望了太多次。太多次的敷衍办事、贪污腐败,各种滑稽到只可能在烂分电视剧或者嘲讽的脱口秀出现的场景反复的出现在这个国家。西方的所谓民主不能让一个政策强有力的贯彻执行,但我们的专制也让一个政策变为空谈。

我真提不了什么意见:我知道的只有如何解图着色问题等诸如此类“书呆子”的标配,倘若我当初去做了记者,也许还能洋洋洒洒写个几千字。我只希望有朝一日,能有一个理想政体,强大而不强暴,以人为本的同时又有卓识远见。算了。也许是梦里才有吧。

科比

第一眼看到这个的时候,应该和许多篮球迷一样,是懵的。

然后去各个网站确认了消息。坦白来说,我不是个科密,作为一个詹密,对科比有尊重和喜爱,因此更多的还是难以置信。一个这样的仿佛去年还在看他打球的巨星,就这样离世了。

不得不感慨生命的脆弱,以前听过把每天活成生命的最后一天这样的教诲,但只有这样的事实才真正让我反思这句话。倘若这是我的最后一天,我也得像昙花一样,用全心爆发出自己的炫彩(说人话,就是不要虚度光阴)。

自己的人生

前段时间为了给爸妈“科普”我未来可能的方向,专门给他们拉了个群说了下我工作上的三种可能。

十七岁的时候不太明白选专业的意义,现在好像有了一个概念。把人生的道路比作一个从圆点出发的线,选的专业就是对应的一条狭窄的锥形区域了,可能区域外有一些你认可的“宝藏”,但是要去探寻锥形外的宝藏,实在是太难了。不过万幸的是,我这小小的锥形里面也洋溢着对我而言的宝藏。但这也只是对我而言,世界上有太多十七岁的少年,懵懂的选择了一个不喜欢的锥形,最后那条线只能挣扎着弯弯曲曲的跑向黑暗中。

人生的道路虽然漫长,但紧要处常常只有几步,特别是当人年轻的时候。

虽然只有三种可能(其实严格来说就两种,查了下长郡高中老师的录取要求和年薪后,我打扰了),但两个选择也是也太大的差别。第一个是时间上的,三年和七年,我现在也没有一点排斥research的想法,但七年对我来说,真的有点太久了。我的人生才过了三个七年,真正有自己的思维的七年,也就一个,就这样把自己最风华正茂的时间放到学校里(当然肯定还有intern),总有种做了这决定就是书生意气的想法。另一个差别就是选择了,倘若是三年,我几乎肯定是工作了,这样就成为不了自己一直想成为的教授了。啊,真是个伤脑筋的问题呢,不过现在暂时要做的,还是把手头的work搞定,希望这半年能抓紧投个TCAD,ICCAD,NIPS,(反正投多了简历上不会有类似投篮命中率这样的投稿命中率,所以多投肯定是没错的。(马料水威少))

说完工作,又和爸妈聊了下我感情方面的事,我对婚姻的看法。我是个比较独立自主的人,毕竟确实很小就没有了阖家团圆的概念,而他们的离婚、再婚也没有过问我的想法,这些我倒觉得没什么,我只觉着:既然如此,我的婚姻希望爸妈不要像我前女友那样给太多的非品行原因的干涉。不过他们还是义正言辞的拒绝了:什么婚姻是大事、我们为了你好的经典桥段。(婚姻是大事那你两是怎么做到在这个大事上搞得一团糟的(狗头))然后我又提出前女友惹我妈不高兴的一件往事(以此为例希望两老不要太过苛刻):这件事我是毫无疑问站我前女友的,结果我妈还是固执的认为自己没错,还提出了一些譬如”尊老爱幼,尊老在前,我不可能首先让步”,“这个家就是我说了算”,之类的蛮横的封建思想。不觉为自己未来的媳妇捏一把冷汗,不过也罢,反正以后不是在美国就是在香港,也就过年拜个年,绝不会把这样蛮横的婆婆和自己的媳妇住一起。

不过现在怎么找到媳妇都是个问题呢。

每次新认识朋友,倘若是计算机相关的,我总喜欢八卦一下他们的感情(啊对不起我知道这样不礼貌= =,交浅言深,君子所戒)。但我实在想象不出,我怎么才能找到合适自己的:互相喜欢,且性格适合我。再加上大概率要去美国,真应了那句歌词:

注定我要浪迹天涯,怎么能有牵挂。

不过有点慰藉的是,经历了第一段的感情,现在能确定的是知道什么样的性格适合我,也不会犯一些初恋男女经常会犯的问题。

2020不知就过去了一个月。这个一月过的实在是太魔幻主义、太跌宕起伏了。

希望二月能对我,对这个世界温柔一点。

最近读了钱穆先生的国史大纲。

其实是抱着拜读加兴趣的想法看的,但是却出乎我的意料:本来以为国史大纲是一本和三国志,史记类似的“史书”,谁知道,竟然真的是“大纲”,像是钱穆先生从文化、政治、经济、社会等各领域出发做的一篇篇演讲稿。又或者像是一篇涵盖computer science所有内容paper里面中的introduction板块。

内容不是很多,几晚上就读完了,恕我愚钝,对于这些领域的研究并不是很感冒,譬如。。。

(wait,刚刚意识到我下的国史大纲只有引论哈哈哈哈哈不行 我说怎么这么短呢哈哈哈哈哈哈哈哈 不行等我下个完整版看完再说)

Graph Isomorphism Network 从数学理论的角度证明了,在验证graph是否同构(isomorphism)上,aggregation based gcn的能力不可能超过WL test。并以此提出了一个简单的graph isomorphism network,实现了能力范围内的最大效果。

本文是对知乎大佬论文解析的补充。

WL test

  • The initial label of each node also influences the isomorphism. For example, $G_1$ and $G_2$ are graphs with same structure while $v^i_1,v^i_2$ has different labels, then the two graphs should be determined as non-isomorphism.

Lemma 2

若aggregation based gcn将异构两图map到不同的embedding(即成功分辨为不同构),则WL test也一定可以将该两图判定为不同构。

该定理为了证明aggregation based gcn的能力不可能超过WL test,其实还有一个是

若aggregation based gcn将同构两图map到相同的embedding(即成功分辨为同构),则WL test也一定可以将该两图判定为同构。

但这个是obvious的。。。

大概证明思路。

想象存在这样的两个异构图,使得gcn的embedding不一样,而WL test最后也无法判定(即最后output node label multiset 也一样)。

那么我们可以从WL无法判定的方向证明:

证明若WL 第i层node label一样,则gcn 第i层 node feature也肯定一样。

这个证明通过归纳法推得。

和yuzhe讨论了下一个我看来奇怪的attention公式

$e_{ij}= a^T * [h_i||h_j]$

这里的$e_{ij}$ 代表the importance between meta-path based node pairs (即两点i对j的重要性), $||$是concat符号。$h_i$代表点i的feature,$a$即为 attention vector (trainable)

但是这样的e能代表的重要性关系其实为:

  • $a_0 * h_i$ 越大,代表点i“重要性”越大,即不分相对关系,不管你是j1,j2还是j3,对于i1,i2,只要$a_0 * h_{i1}>a_0 * h_{i2}$,,则 $e_{i1j} > e_{i2j}$。不论j是哪个点。但这真的能代表某些网络间的attention关系吗?

后面又看了google的那篇 what you need is attention,明显可解释性就强多了。

UPDATE:

DAmn, 这个bug被比我聪明的人发paper了

HOW ATTENTIVE ARE GRAPH ATTENTION NETWORKS?

https://arxiv.org/pdf/2105.14491.pdf

一下子第二个十年就过去了,一下子自己也不是那个可以什么都不顾的少年了。照例,记录下自己现在的思想。

离异

小时候,每次别人问起我,我都是面无表情地告诉他们我爸妈在我很小的时候就离婚了。而往往他们会给我一个惊讶转而同情的表情或言论,而我都是以一句“没关系”结束这个对话。

因为我是真的觉得爸妈离婚对孩子,至少对我来说,是没有什么大的影响的。我爱历史爱读书,所以读到了那么多可以为榜样的人物,那么多荡气回肠的人生故事,对我来说,爸妈离婚真算不了什么大事,古往今来挫折失败实在太多太多,人生就应像我的偶像苏东坡一样,活得率性就足够了。

可是这段时间我才觉着我错了。爸妈的离婚不是什么挫折,而是一个洞,一个精神我中的一个洞(物理我的洞就是。。。比克大魔王死的时候那样?哈哈哈哈哈哈)。虽然朋友知道的我是个大大咧咧率性乐观的人,但是我知道,这样的我,是初中以来自己慢慢调整过来的我。其实初中以前,我一直都是一个比较内敛感性的人,而最近的时间我才发现其实初中那个沉闷的小男孩还一直活在我心里,那个渴望疼爱、但是又战战兢兢不敢表露自己的小男孩一如既往,希望有个人能理解,能疼爱。

很早明白人生是一个人的旅程,但是看着别人,似乎觉得这句话不太对,别人的爸妈那么恩爱,和爸妈就像朋友一样,也有一个精神同样强大的伴侣互相扶持。所以其实,应该是我的人生,是一个人的旅程。从小学到中学,到大学,到现在,甚至到未来的博士,一想到这就好难受好难受,爸妈离婚了,他们有各自的家庭,我属于他们各自的家庭,也可以说我不属于任何一个家庭。朋友很多,但是曾经自以为的知心好友并不觉得我是什么好相处的人。而也太难有一个愿意去美国的对象,就算有也太难有一个能填补我这个洞的人了。

明白了这些,越来越对婚姻产生恐惧。害怕自己找不到对象,害怕找到对象后一直吵架然后离婚,又对自己的孩子挖了一个洞。。。从来没有享受过一个和谐温暖的家,我都不知道我有什么想象力和能力去propose一个那样的家。。。

油腻

这是一个很严肃的话题。我发现我开始变得油腻:一个油腻中年人的样子。

这次去南科大早说约好请明远一顿海底捞,路上碰到几个南科大同组的本科生于是邀约一起海底捞,最后他们要给我钱的时候,我拒绝了,嚷嚷着什么没事我请了。

拒绝完没觉得怎么样,但是晚上想到这件事,不知怎得就觉得自己是第三视角的一个路人,在冷眼看着一个油腻的中年大叔上演着那熟悉的套路:以钱财请客来彰显自己的能力。不觉一阵干呕。我试着缕清自己的行为为什么违背了自己的理想状态, 这件事上,我对“大方”产生了误解,人要大方要舍得,有舍才有得,但是大方不是通过不讲道理的请客来彰显自己的“大方”的,这样的行为,扪心自问,是想做一个大方的人吗,呵呵,只是像那些中年人一样,以此想彰显自己的能力,满足自己的虚荣心罢了。所以何为我们应该做的大方?当理应你请客,比如明远这个,大大方方,别扭扭捏捏就好,抑或是日常的小事物,或者朋友主动找上你需要你帮忙,这些东西便是大方的时候。

不仅仅是这件事。最近的许多事,都让我觉得我在渐渐从那个执剑的勇士,变成那条自己厌恶的恶龙。这样的反省肯定来得及,愿我出走半生,归来仍是少年。真的希望自己过了半辈子的时候,还保持着现在这样的少年感。

选择

最近看一位高中老师讲话的视频深有感触。

老师说,他羡慕孩子们,不是羡慕多年轻不是羡慕高中多美好,而是羡慕他们还有选择人生的机会。对啊,不是说现在的我们就不能选择自己人生了,只是说比起高中刚毕业还没选专业的时候,放弃自己现在的人生去做自己喜欢的事,代价太大,难度也太大了。不过我也不是那种不幸的人,至少现在的路我觉得挺好的,人生在世,大不了以后去当个高中老师,照样是教书育人,岂不美哉。

只是也可以感慨一下,如果没来中大学计算机,应该就是在上交当记者了。其实想想,记者/主持人这样的职业也是很适合我的。我一直自诩是一个正义积极、乐意为民请命的人。不过可能真当了记者,面对的冲突会比起现在仍然“象牙塔”般的研究来的大得多,另一个平行时空的我,希望别成为那个恶魔。。

2020

2019就这样过去了,遗憾就如太阳升起一样,照例还有。

2020最大的希望,是自己还是那个率性的少年,真诚待人,不要,一定不要成为自己厌恶的人。

然后就是继续加油,沉下心来学东西,做东西。晚上也早点睡,注意一下饮食,多吃点水果,多玩玩健身环,毕竟身体真的是革命的本钱哪。

很小的时候,我妈工作的医院经常有人闹事。每次家属把棺材摆在医院门口,横幅也是贴的“张灯结彩”,严重的几次我妈也要暂时回老家避避风头。那时没人管这种事,每次医院都是掏钱了事。

但是因为这样按闹分配的处理方式,后来摆棺材的人越来越多。最后一次摆棺材,院长实在受不了了,带上几十位医生和医生家属跟他们打了一架。从那之后,这种为了讹钱的医闹反倒再也没发生过。

就像乔峰聚贤庄被人津津乐道一样,那时在医院家属小朋友的圈子里,也流传着干架那次杨叔杨家拳一干三的神话。逐渐长大才懂得,所谓的神话,其实是医护工作者“被逼上梁山”的无奈。寒窗苦读十几年教的是救人之术,没有哪本书哪门课告诉这些医生怎么对付无赖,怎么保护自己。

医院终究还是充满人生悲喜剧的地方,那样无赖式的讹钱医闹少了,但是这样恶魔式的冲动杀人怎么办呢。为钱的医闹还可以有杨叔这类人来保护,但为命的由谁来保护?或者说索命的当下,谁来得及保护?

就像前段时间沸沸扬扬的pua事件一样,我也不知道怎么回答这个问题。只能希望未来越来越好,也希望各位能保持纯真善良,做一个积极正义的人。共勉。