手机在旁边不停的震动,但宁为仿若未觉。
最近一段时间,湍流算法那边他几乎完全放下了,全身心的投入到了EDA软件这块。
到不是湍流算法那边已经没问题了,实际上之所以这个项目一直在实验室里进行内测,还没有对外联系进行大规模公测,也是因为遇到了技术瓶颈。
目前湍流算法在实验室里的错误判断率稳定在十万分之一点八左右,无法再进一步下降了。
十万分之一点八的出错率听起来不算高,但如果应用在这种售票网站跟APP的服务器上,却很可怕。
用户基数太大了。
每一亿人次使用订票,可能有1800多人被误判为恶意爬虫程序而受到惩罚,这得是多败人品的一件事。更别提每年使用订票系统的何止一亿人次?
一个长假都不止了!
宁为跟三位辅助的研究员也不是没想过办法,几个人一起头脑风暴过,对算法经过了两次迭代,但始终无法降低实验室内测的错误率。
这让宁为有种感觉,湍流算法的进一步突破,可能需要他对整个系统的理解进一步加深,这是急不来的,索性先这么在实验室挂着,多做一段时间的内测,可用来分析的数据足够多了,说不定就能从这些数据中找出一些端倪。
所以宁为便不再关注湍流算法那边,毕竟EDA软件项目组这边,没人比他更清楚这款软件的结构跟难点。
最大的难点其实就是让芯片设计简单化。
举一个简单的例子。
在使用主流EDA软件做后端设计的时候,第一步一般是需要对标准库进行设置。
需要的数据大概可以分为三类,分别为逻辑层、物理层跟设计。
这三类又能细分为六种文件,包括工艺文件、单元库、子库、综合后网表文件、约束Pad位置的TDF文件跟综合后给出的时序约束文件。
然后是芯片的整体布局,这是直接影响到芯片面积、速度信号完整性跟设计周期的重要步骤。要为模块、输入输出接口、电源焊盘等等分配对应的位置。
接下来是时钟树综合,这也是一大挑战。想想看,在集合数千万甚至上亿的晶体管后,要将时钟信号零偏差的传输到芯片每一个局部区域本就是件不简单的事情。
接下来是整体布线,这也是整个芯片设计最重要的物理实践过程。
紧跟着还要进行设计规则检查。
这些都做完之后,没有问题了,再进入仿真环节……
按照宁为的想法,是要以上步骤完全缩减到一步到位,在对象库中集成完成某一特定类任务的一级芯片架构,即为容器,然后是二级架构即为群,然后依次往下划分……
操作者只需要将进行简单的组合,经过对已有结构的简单修补删减之后,就能直接进入仿真环节。
这也是这款EDA软件单纯只是为了设计各类AI芯片的原因。
如果要用这种傻瓜方式设计通用芯片,宁为就算真把头发耗光,也不可能解决得了傻瓜式操作这一难题。
但在AI芯片领域却是能做到的。
就目前AI领域的情况来说,所谓智能算法一是快速寻求最优解的过程。这些算法通过模拟一些自然过程,来解决复杂工程问题。
还有基于数据的机器学习,主要是从已知数据出发用来对未知数据进行预测的规律等等。
所以宁为的设计理念很简单。
比如首先搭载一个标准的卷积神经网络学习的容器,然后在子分类下方融入各种机器视觉类别的组,比如图片识别、人脸识别、进阶的表情识别、手势识别等等。
群下再设组完成具体的加权、求和、激活、传递、回归等单一功能。
操作者只需要输入自己想设计的芯片类型,首先就会跳出对象库中的容器框架,然后操作者再自行选择这一框架下要实现的功能。
要让操作者觉得简单,对于软件设计者来说就很难了。
宁为的目标是在这款EDA推出之前起码要在对象库中设计五个容器结构,以及相对应可融合的群组结构。
推向市场之后就简单了,如果有人用,高阶的设计团队就能在学习软件的各种标准跟说明后,自行设计容器,跟配套的群、组以及元器件,或者利用已有定义的元器件重新设计出功能更强悍的容器结构跟配套群、组,上传后,经过审核部门多次验证之后,纳入到对象库中。
但现阶段这些工作必须他自己来做,毕竟实验室调拨的那些教授们或者编程技术都不错,但数学方面,还是要差了一点。
终于,忙碌了三个小时,又用早先定义好的元和组,构建了好了一个容器下的群结构,宁为靠在椅子上长出了口气。搞科研项目是真心的累,尤其是碰到难解问题的时候。
湍流算法那边遇到瓶颈,EDA这边又离不开人,宁为开始反省自己是不是真的太过贪心了,把科研问题想的太简单了。
随手拿起手机,这才发现寝室群里今天格外热闹。
一大早已经刷了几十条消息。
脑子有些闷,正好看看这帮人在闹什么,休息一下脑子