【编者按】
芯片,看似小小的一片,却是硬件科技的核心,当前,我国无数科研人员正为了芯片的自主创新夜以继日地奋勇攻坚。
“龙芯杯”全国大学生计算机系统能力大赛是在网信办指导下,由系统能力培养研究专家组和系统能力培养示范高校共同发起的一项赛事,2017年至今已举办八届,共有超过百所高校的数千名大学生参赛,对于发掘和培养我国高端芯片及核心系统领域的青年后备人才起到了重要的推动作用。
8年来,清华大学计算机系的学子们在“龙芯杯”比赛中屡摘桂冠,从第五届到今年的第八届更是连续四年夺得了唯一特等奖。为展现学子们的风采和精神,记者采访到历届10余位参赛队员以及背后的指导教师,本期让我们走近他们,感受团队背后的汗水与荣光。
“命运的齿轮开始转动”
时间拨回到2017年。
张宇翔、王邈都是计算机系2013级的学生,2017年,尚在读本科的他们参加了首届“龙芯杯”比赛,彼时的他们年龄还很青涩,但赛场上却展现出超乎寻常的稳重。首届比赛,在没有任何经验可参考的前提下,他们就留下了足以“笑傲江湖”的成绩——成为当年唯一一个成功运行Linux系统,并且能够完整利用全部外设的队伍。“至今还记得龙芯CPU首席科学家胡伟武老师对我们的评价是:他们队把我们的板子玩爆了!”俩人回忆道。
首届“龙芯杯”队员们决赛冲刺
尽管如今看来,这样的水平早已是标配了,此后的赛事甚至进一步演化出多发射、乱序执行、多核心等令人眼花缭乱的功能,然而谁也无法忽略他们在“龙芯杯”赛史上留下的那极具开创性的成绩。
首届“龙芯杯”颁奖(左二:张宇翔;左三:王邈;右三:刘卫东老师)
可能就连当年的张宇翔和王邈都未曾意识到,“命运的齿轮从那次比赛开始转动了”。赛后,张宇翔不仅设计出被沿用至今的“龙芯杯”个人赛板子,还与团队一起开发出了远程实验平台,并将技术转让给了主办方实现了产品的商业化,硕士毕业后,他还因在“龙芯杯”赛事中的出色表现而被选中到华为,在核心技术部门从事芯片研发工作;而王邈因之前在清华学生超算竞赛中已有非常优异的表现,加上后来在“龙芯杯”积累的经验,让他更加坚定了自己的学术兴趣和科研方向,如今他已在清华深圳研究生院攻读博士,长期从事相关领域的研究工作。
技术转让产品图
一次参赛经历,仿佛摁下了一个有关未来轨迹的按钮,当年少年们意气风发的战绩,是人生早已埋下的伏笔。
“编程是一件很‘危险’的事情”
时间重新拨回到今年。
8月的重庆酷暑难耐,第八届“龙芯杯”赛事如火如荼,与天气和赛事一样陷入焦灼状态的还有岳章乔、李增钰、张作远、赵涵远,他们都是今年的学生队员,平均年龄才20来岁。
岳章乔来自澳门,来计算机系读书的这几年,他对“龙芯杯”的兴趣愈发浓厚,因为造机成绩还不错,今年他如愿代表系里来参赛,心中充满了跃跃欲试的兴奋感,然而,很快他便发现:想象是美好的,现实是残酷的。“每年的‘龙芯杯’赛事基本都是以处理器设计为核心比赛项目,参赛前我们已有所了解,但因赛事紧张,难免有一些临时状况,今年我们在比赛前就突然发现处理器的运行不够流畅,好在经过反复的调试后终于解决了问题。”那几天,为了调试设备,作为主力的岳章乔和队员们凌晨3、4点都不敢睡觉,夜深人静时,只有点亮着的电脑屏幕和嗡嗡作响的机器陪伴着这几个熬大夜的学生。
岳章乔(右)、李增钰(左)比赛调试中
赛场上,时不待人,乾坤往往决定于毫厘之间,岳章乔和李增钰向记者复盘了今年的情况:“今年赢得有些惊险,因为参赛高校很多,千帆竞渡,高手如云,尤其是复旦大学很厉害,记得各项指标曾一度咬得很紧,虽然最终我们的整体分数占据了优势,但还是不得不感叹对手的强大。”
今年比赛现场一角
今年,计算机系队员在大赛FPGA开发板上成功实现了先进的乱序5发射处理器,每周期指令数(IPC)达到了1.14,对比官方的性能基线,总加速比达到了3.24;他们还在32位龙架构上首次成功运行了基于X的桌面环境,并可以使用USB键鼠进行操作;另外还成功移植了Python3并运行了Django Web框架。这些数据所代表的综合优势,让队员们拿下了组委会颁发的唯一特等奖。
今年“JIT”队上台领奖(左二起依次为:岳章乔、赵涵远、张作远、李增钰)
“赢在细节与毫厘之间,这正好印证了我们队的名字——JIT,Just In Time,恰如其时,一切都刚刚好。”俩人补充道。
事实上,不仅是今年的比赛令队员们觉得“赢得惊险”,往年的比赛中也不乏有队员大呼“危险”。比如曾参加第三届“龙芯杯”,目前正在读博或硕的陈嘉杰、陈晟祺、周聿浩、刘晓义四位同学,他们也曾获得当年的唯一特等奖,在颁奖环节中,他们在屏幕上打出了“编程是一件很危险的事情”的队名——“这句话更早的来源其实是大二汇编语言程序设计小学期张悠慧老师的MOOC,我们那届做了特别引用。”陈嘉杰说道。“程序员是高危职业”虽是一种打趣,却真真切切地反映了队员们当时心情上的跌宕起伏。
第三届队员们上台领奖,屏幕打出“编程是一件很危险的事情”
“我们那届比赛很‘危险’,都到决赛前夕了,我们突然发现CPU设计尚不能稳定地运行Linux系统,总是会在上板测试中产生莫名其妙、难以复现的错误,当时时间紧张、压力大,队友周聿浩、我、陈晟祺迅速分工,连续奋战了几个晚上,反复对多个模块进行测试,终于发现是缓存模块中存在一处极不明显但相当致命的逻辑错误,最终赶在赛前成功解决了问题。”尽管已过去多年,但提起当年比赛的情况,陈嘉杰仍有些“心有余悸”。
包括去年曾参加第七届“龙芯杯”、目前已直博的高焕昂同学说:“我们那届比赛的最后阶段,所有展示材料需要在72个小时内完成,这对我们是一个巨大的挑战,不过即便在如此高压的环境下,队员们还是稳住了,大家发挥特长、分工合作,最终成功搭建完成了展示系统,它不仅能够顺利接入屏幕并运行2048小游戏,还能通过命令行界面(CLI)访问网页。那一刻的成就感和喜悦感简直无法形容,至今都记得很清楚。”
第七届队员们获奖合影(右二李山山老师替队员高焕昂上台)
可以看到,无论每年的赛况多么“惊险”,队员们从来都没有退缩过、放弃过,他们总能在充满变化的环境中保持冷静的心态,通过发挥自己的所长,与队友们相互配合坚持到底,最终创造赛场上的佳绩,而所有的坚持背后,都是因为那份身为清华学子的自强感和使命感。
“我们是代表清华计算机系参赛的,字典里就没有‘退缩’二字。比赛的过程虽累,却不是苦役,而且参赛可以一定程度上‘逃避’大作业,代替暑期实践,拿奖了还能跟同学们吹个小牛,何乐而不为?”岳章乔和李增钰笑着说道,特等奖的成绩已尘埃落定,两位同学的心情也随之如释重负。
“编程是一件很‘危险’的事情,但同时也是一件值得奔赴的事情。相信每个计算机系的同学面对bug时都忍不住想抓住它,修复它,与队友们一起解决bug的过程让人成就感爆棚,累并快乐着,也许这就是计算机的魅力之一。”岳章乔说道。
“摆渡人”
8年来,计算机系学子们在“龙芯杯”比赛中屡摘桂冠,从第五届至今年的第八届更是连续四年夺得唯一特等奖。好成绩的取得不是凭空的,而是一以贯之、有所传承的。
“一些学长在当年参赛后,便会在之后的赛事中担任技术指导,把经验毫无保留地分享给我们。”新竹高于旧竹枝,全凭老干为扶持,尽管每年的队员不断更迭,但“龙芯杯”团队已经自发形成了这种连接和扶持。
这些前辈中,不乏有参加超算竞赛的人,比如王邈、陈晟祺、陈嘉杰等同学。值得一提的是,同样担任过技术指导的高焕昂和刘松铭同学还都曾获得过清华大学本科生特等奖学金,其中,“龙芯杯”对他们的获奖形成了较大的加成。“‘龙芯杯’是一项比较有分量的赛事,答辩时,评委们认可度都很高。”刘松铭向记者说道。
两位特奖队员:刘松铭(左)、高焕昂(右)
清华从不缺乏个人主义的“天才”,人外总是有人,天外总是有天,最珍贵的是“天才们”的团结,是“天才们”自发传承下来的互助风气。前辈们把自己的心路历程和经验一届一届地传授给后辈,就好像承前启后的“摆渡人”一样,帮助后来者渡到了彼岸,形成了“龙芯杯”的学生人才梯队,如此,才共同铸就了属于集体的荣光。
“定海神针”与“情绪价值”
在清华园东南角,矗立着计算机系的老系馆——东主楼,从系馆走上二楼,便是计算机系基础实验教学中心。计算机系的学子们、所有“龙芯杯”的队员们,都对这里无比熟悉,因为他们的基础都是在这里打下的。
计算机基础实验教学中心
“奋战三星期,造台计算机”,相信这句话让很多人望而生畏,它背后就是计算机专业的核心基础课——“计算机组成原理”。它要求学生在三星期内,做出计算机的中央处理器和部分外设,使之能够运行操作系统,通过造机,同学们基本可以把计算机工作的原理搞清楚。此次访谈,记者也采访到了基础与实验教学部的刘卫东和李山山等老师,他们同时也是“龙芯杯”赛事的长期指导教师。
某种意义上,刘卫东老师不仅是“龙芯杯”的发起人之一,更是队员们参赛时心中的“定海神针”。“在赛场上只要看到刘老师,我们的心里就是稳的。”多位队员这样表示。
刘卫东老师作为发起人之一为今年赛事致辞
“‘龙芯杯’的部分比赛项目是从我们系本科生的培养课程中演化而来的,它通过竞赛的形式把学生拉入一个具体的场景中,赛场情况千变万化,更容易激发出学生的创新思维和实践能力,形成一种‘以赛促学’的循环和反馈。”得之在俄顷,积之在平日,刘老师特别强调道:“其实它最根本的还是考察学生的功底和系统能力,只有平时基础扎实,才能在比赛中制胜。”
与刘老师的稳若泰山不同,李山山则更像一位“顽童”老师,他言辞犀利,兴致所至处嬉笑怒骂也总是自然流露,队员们说:“李老师性格爽朗,带着一些孩子气,他总能跟我们打成一片,似乎无论遇到什么难题他都能轻松诙谐地帮我们化解掉。比赛时看到队员焦虑,他还会说:‘这不难啊,这还没咱们的大实验难呢,往年队员都是这样过来的,你们快试试,一试就知道了。’”几乎每届队员都是从“试试”开始“入坑”的,这看似简单的话语曾帮他们克服了畏难情绪,给初入赛场的他们带来了莫大的鼓励。
李山山老师展示“计算机原理”
此外,计算机系的陈康、陆游游、郑宁汉等老师都长期在一线参与“龙芯杯”的指导工作,“系里的老师们为我们提供了‘情绪价值’,这可太重要了。因为他们都是我们日常课堂上熟悉的老师,对于我们每个人的特质都很了解,赛场上如果遇到突发情况他们总能一边精准地指引我们找到漏洞,一边安慰我们的焦虑情绪,让我们充满信心。”今年的队员李增钰说道。
从第一届到第八届,每一届学生队员的名字、每一届比赛都发生过什么趣事,甚至哪一届学生最调皮捣蛋、哪一届比赛还可以发挥得更好……对于这些枝枝蔓蔓的细节,刘卫东、李山山等指导老师们都如数家珍。所谓“师者前导,学生尾随,从游既久,不为而成”,正是长期以来计算机系对基础教学的重视为学生们奠定了扎实的基础,而亦师亦友的师生关系更是滋养了学生们的心灵,帮他们在比赛中获得了鼓舞和信心,不断斩获着佳绩。
“芯”之所向,无问西东
“通过‘龙芯杯’比赛,我们体会到国家对于高端芯片人才的迫切需求,希望未来能把自己所学的计算机技能融入到家国情怀中,服务国家和社会。”谈到收获时,包括第五届在内的多届学生队员们都不约而同地表达出这样的心声。”
第五届“琉璃晨露”队员们合影(从左至右依次为:杨倚天、余泰来、黄嘉良、刘松铭)
“‘龙芯杯’学生队员们都很优秀,可谓是群星璀璨,他们的成长路径也是多样化的,大部分人都选择攻读硕士、博士,在相关领域开展科研攻坚,还有的在核心、重点技术部门就业,也有超算队员……赛事对于人才培养的成效已经逐渐体现了出来。”刘卫东老师欣慰地说道。
刘卫东老师在课堂
从1985年考入清华,刘卫东老师人生近40年的时间都是在园子里度过的,对于校园里的每条道路他都熟稔于心,而每每从东主楼走向自强科技楼时,他的思考和感触都要比其他地点更为深刻,因为沿着时间的长河驻足回望,在新老系馆之间,他仿佛总能看到一条虽历经风雨却焕发着无限生机的“学术幽径”。
自强科技楼
这条“学术幽径”,承载了计算机系60余年的历史,历久而弥新;这条“学术幽径”,写满了计算机系老一辈先生们的名字,灿烂如星河;这条“学术幽径”,砥砺着如他一般众多中青年教师们的精神,自强而不息;这条“学术幽径”,见证着一代代学子们从这里成长成材,奔赴又归来。
前路蜿蜒,“芯”火不灭,众多清华计算机人,正心怀家国志向,以无问西东的勇气,在这条“学术幽径”上默默跋涉,所留下的,唯有他们自强的背影和坚定的足迹……
群星璀璨“龙芯杯”
特邀历届队员分享心得
第一届队员
张宇翔
“我现在仍然对刘卫东老师讲授的‘计算机组成原理’这门课耳熟能详,它让我真正地了解了什么是计算机,掌握了计算机系统的基本组成和内部运行机制。
通过‘龙芯杯’比赛我收获颇丰,现在在从事芯片研发和处理器相关的工作,这些年我越来越深刻地体会到系里为何那么重视对本科生基础和系统能力的培养,因为无论新技术如何发展,这些能力都是本源,只有掌握了本源才可能举一反三。
工作多年,我时常会怀念在系里读书的日子,我想,未来命运的齿轮还会继续转动,而计算机系教给我的本领也会让我受益一生。”
第一届队员
王邈
“我在参加‘龙芯杯’之前,也参加过超算竞赛。超算竞赛和‘龙芯杯’,虽然形式和关注点都截然不同,但都在一定程度上考察了选手对计算机系统的深入理解,这既包括对计算机处理器系统的认识,也包括对操作系统与硬件设备的交互作用的认知。包括后来为第二届提供技术指导,我们都会把不同比赛的经验、侧重点分享给学弟学妹们,供他们领悟和参考。
参加‘龙芯杯’我收获很大,它通过自行设计处理器并移植操作系统和相关软件,让我以一种全新的方式认识和理解了计算机系统,我从书中学习到的理论不再是纸上谈兵,在亲自动手实践的过程中,它有了生命力,焕发出了勃勃生机。”
第三届队员
陈嘉杰
“在长期的技术支持工作中,我觉得比赛制胜,首先要让它吸引人。‘龙芯杯’作为一个比赛,不是必修课,需要耗费很多时间,想要出成绩,首先要吸引同学来参加,让同学产生兴趣。为了达到这个目标,让往届‘龙芯杯’的参赛同学,参与到相关课程的助教工作,作为榜样在课堂上进行分享是很重要的,让同学们觉得,比我高一届的同学,通过学习,可以在‘龙芯杯’上做出很酷的东西,得到很好的奖,那么我也可以做到,就想去参加。同时也改进课程的实验内容,让它更加接近实际的处理器设计,也更加接近‘龙芯杯’。通过一年年的传承,形成人才梯队,可以向处理器设计方向持续输送人才,这是很重要的。有了人,接着就是基础设施,由教学实验室提供支持,包括高性能的EDA算力,FPGA 实验平台等等,可以省下很多的时间,把精力集中在改进自己的硬件设计上。这些基础设施都是可以复用的,只要一届用了,之后各届都可以用上,逐年堆砌出一个成熟的硬件开发环境。最后,就主要是参赛同学自己的努力和汗水,去深入学习并实践CPU设计,进行相应的Linux系统配置以及软件开发,最后才能跑起来一个完备的流畅的系统。”
第三届队员
陈晟祺
“无论是‘龙芯杯’还是超算竞赛,队员们在赛程中随时都可能遇到各种没有预期、也未曾遇到的情况,而独立、迅速、可靠地应对这些问题是顺利完成比赛、取得好成绩的关键。这要求队员们有:
① 良好的团队意识:队伍中所有人都应了解全局情况,而不是一头扎在自己的责任田;保证比赛相关信息透明、沟通流畅;遇到问题不甩锅,作为整体共同应对。
② 科学的调试方法:仔细阅读报错或分析现场情况,缩小问题范围,获得最小复现;列出可能出问题的组件,逐个控制变量,排除干扰。
③ 稳健的心理素质:及时调整情绪,绝不可临场钻牛角尖,浪费宝贵时间;在规则允许范围内及时求助;制定多个后备方案,权衡得到最优解。
以上这几点都离不开团队的所有成员,需要协力配合,在平日也要有意识地进行训练、磨合,还有长期储备的知识与技能。”
第五届队员
刘松铭
“我是大二参赛的,一开始本来想的是‘水水’就好,结果到了赛场越战越勇。在比赛中我们的硬件性能原本是排第四的,后来通过软硬件协同设计的思路实现了反超,提升了不少分,获得了那届比赛唯一的特等奖。我后来还获得过咱们学校的特奖,我想‘龙芯杯’的参赛经历对于我的获奖肯定是有加成的。
我现在做AI模型训练方向的工作,发现模型训练效率各方面其实跟底层的关系非常密切,这就是底层硬件架构运行原理的精妙神奇之处。”
第六届队员
崔轶锴
“我印象最深的是‘龙芯杯’对于系统能力的全面考察。在正式参赛之前,我一直都认为‘龙芯杯’与计算机组成原理课程的大作业相比,仅仅是要设计并编写一个更加复杂的CPU,但在准备比赛的过程中,才发现除了组成原理的相关知识之外,我还学习和使用了很多其他系统课程的内容,比如操作系统、编译原理和网络原理。在比赛的过程中,编写一个CPU仅仅是最低的要求,为了让CPU能够正常工作,还需要针对性的配置操作系统,编写针对性的汇编代码,同时还需要将CPU接入自己搭建的网络当中。在完成CPU的编写以及功能展示之后,我对整个系统方向的技术栈有了一个全新而且全面的理解。
参加‘龙芯杯’的过程是一个将学习到的系统知识从理论到实际应用的过程,在这个过程中,我们会接触到平时课程中不会详细涉及的细节和问题。在学长和老师的指导下,我们从着手分析和解决这些问题的过程中学习到了很多对未来科研工作有用的知识,这也提高了我们分析和解决实际生产环境下问题的能力,让我们体会到了现有计算机系统设计的精妙之处。”
第七届队员
刘明道
“除了系统知识储备与CPU架构设计,团队成员戮力同心的协作也至关重要。在赛前一周极限冲刺时,我们首先完成了性能测试打榜,最后才开始做系统实现适配,期间工作强度极大,整个团队在提交前两天几乎没怎么睡觉。我们在代码提交截止前10分钟才修复了最后一个致命的bug,顺利提交了作品,然后又通宵调试系统软件,在demo截止前几分钟提交了演示视频,顺利完成冲刺。
这次极限操作离不开团队成员严谨敏捷的调试和在很大压力下的无缝配合。当然,虽然这次 rush成功了,但是之后我还是告诉自己,也提醒下届参赛同学:千万要做好项目管理,避免踩着DDL冲刺。”
第七届队员
高焕昂
“在比赛的初期,选取合适的CPU架构并明确目标是至关重要的,这一步奠定了整个项目的基础和方向。到了中期,重点应放在频率优化和指令周期(IPC)的协同提升上,通过不断调试和优化,使系统达到最佳运行状态。而在后期,则需要关注系统能力的全面展示,包括外设的集成和软件系统的完善,通过这些工作来增强整体竞争力。这一整体的过程不仅需要扎实的技术功底,还需要合理的规划和高效的团队协作,才能在比赛中脱颖而出。
去年我作为队员首次参赛,今年又作为学长为赛事提供技术支持,两届赛事令我印象最深刻的莫过于团队协作的力量和大家共同解决问题时的成就感,集体的荣光是无价的,它让比赛更有意义。”
第八届队员
岳章乔
“‘龙芯杯’比赛,是把课上学习的计算机系统理论,如电路、组成原理、体系结构、编译、操作系统、网络等,进行实践的宝贵机会,是对本科学习的全面检验和总结,更是评估队员对理论掌握程度及实际应用能力的重要平台。我觉得比赛培养的能力有二:
提炼规律的能力:观察具体软件的运行情况,得到软件运行具有局部性、可并行性,相比课上了解,这样的推论能有实例支持;了解硬件资源(如寄存器、Block RAM)的特点,注意到其面积、延迟的关系,以合理的时序把这些资源搭配运用。只有把上述现象支持的结论,和课上所学配合,才能加深对后者的理解,从而设计出最大化利用不同硬件资源以优化软件性能的方案。这种从表面现象总结本质并加以利用的能力,在当下尤为可贵。
从整体看问题,将之化整为零的能力:由于处理器是通用的,其具体实现比较复杂,但这样的复杂性是为了解决一个问题——适应多变的输入、处理方式,得到多变的输出。通过思考软件如何利用 ISA 的特点,达到设计目标,实现软件定义的处理、通信和交互,指引处理器功能划分的总体规划,然后细化各个功能模块的设计。这些模块的特点是分工明确,又相互配合,共同解决上述问题。这个规划的过程,不能瞎子摸象,实现的子模块要适应总体规划。
只有队员重视上述能力,才能协同制定一个可行的实现、优化总体方案,并且具有明确的分工,找到合作的方向;只有各队员对团队的目标和期盼达成共识,团队才能克服项目复杂、开发周期长,从而时间紧迫的困难。
比赛要求较高,难免令人望而却步。由于各种原因,我今年意外地成为了团队的主力,所幸坚持下来的队友们,都具有坚定的信念和过硬的本领,都愿意付出宝贵的时间和精力,赶在提交截止前把问题解决。代表清华大学参加‘龙芯杯’并拿下特等奖,是我以前从未敢想的事情,这离不开清华和计算机系的培养、老师的指导、学长们的支持和队友们的通力合作,我为此感到无比自豪!”
第八届队员
赵涵远
“早在高中时,我就对Linux内核充满了兴趣,经常在课余时间捣鼓嵌入式Linux开发板,甚至利用教室里的电脑尝试阅读Linux内核源码。尽管当时的我还无法完全理解开发板背后的原理,但我心里默默希望,将来能考来清华,并且在清华深入学习和研究这一领域。
大一入学刚两个月时,正赶上特奖评选。当我看到9字班本科特奖得主刘学长简历上耀眼的‘龙芯杯’特等奖时,我被深深地震撼到了,一方面是膜拜学长的优秀,另一方面也是因为发现了清华有这样符合我兴趣的竞赛而感到未来可期,一颗种子就这样悄然种下。虽然当时的我离‘龙芯杯’参赛水平还很遥远,但我已经有意地去点亮通往‘龙芯杯’的科技树。
大二下,我带着自己做的可以启动Linux内核的RISC-V模拟器加入了‘龙芯杯’参赛队,并且担任系统软件移植的工作。比赛过程可以说是充满了挑战和痛苦,每天都是后知后觉,每天都要犯各种错,每天都要与各种黑盒、死锁与不确定性共处,十天中有九天是挫败地回到宿舍,只能仗着动手得早,多做一些尝试。突破总是随机产生的,例如突然发现自己对龙架构的多种地址翻译模式完全理解错了,导致u-boot在startup阶段直接就跑飞了;或者又突然发现,网卡一个数据包居然发送了两次的原因,原来是ip核没有处理好环形缓冲区中只有一个元素的情况,令人啼笑皆非,这一百多页的网卡手册似乎白读了。
然而,回过头来看,抛开这些当时的痛苦,参加‘龙芯杯’对个人技能提升大有裨益。‘龙芯杯’让我抽出了这么多时间,专门从事系统底层的开发,从硬件描述语言开始,搭建一台能使用USB键鼠进行操作、运行现代Linux操作系统的SoC,这种沉浸式的锻炼,若没有比赛的驱动,靠个人的内驱力恐怕难以做到。
我衷心感谢计算机系,感谢指导老师和学长们,也感谢我的队友们,与你们一起参加‘龙芯杯’的经历,是我在清华最珍贵的经历之一!”
(ps:赵涵远同学来自软件学院)
致谢所有队员及指导教师!
来源:清华大学计算机科学与技术系公众号
供图:“龙芯杯”师生团队
采写/排版:张超
总审核:赵颖