daoyu:pengfengkejiyongsanniandeshijianlaidamochendianzijidejishuchanpin,bingzaishangyelujingshangjijitansuo。xiayibumubiaomingque:jiasuluodi,shengchanqianrushiailingyuzuibangdechanpin,zuogongyejichanpinxianxingluodidegongyingshang。
aiwanshaonian、kexuejia、chuangyezhe,ruguojizhangxianyirenshengzuijin20nianlitieshangjigebiaoqian,zheisihushitashenshangzuixianhuodeguanjianci。congxihuanwaneryouxikaishimiliandaima、daodaxuexuanzejisuanjizhuanye、boshibiyehouhaiwaishenzao,zaidaokaiyuanjuzhenkuopenblasdekaichuangzhe,xianzaideta,shiyijiamingweipengfengkeji(perfxlab)degongsichuangshirenjianceo。
pengfengkejiguanzhudeshijinnianlaidefengkou——qianrushiai,qichanpinzeshijiyuarm/fpga/gpu/risc-vdengzhongduanpingtaidejishujiejuefangan,baokuoyingyongsuanfa、kuangjia、xingnengku、yingjianbankadeng,keyingyongyushouji、wurenji、zhinengchuxing、anfangdengbutongchangjing。
yejiegongshi:shangyehualuodidenenglizuinengtixianyigekejixiangmudeshangyejiazhi。pengfengkejizuoweiduanshangzhinenglingyudexianxingzhe,cong2016niankaichuangzhijin,congweitingzhizaichanpinlujingheshangyeluxiandeshengjihetansuo。
guoqudesannianli,congzuichuxiangzuoqianrushirengongzhinengdedicengruanjian,daorujinzuoruanyingjianyitidejiejuefangan,congzuichutigongyige“chanzihuoyikuaizhuan”,daorujinnengtigong“yizuoqiaohuoyizuofangzi”,suizhezaiailingyuyingyongduanshangdechanpinhejishudezhujianchengshu,pengfengkejideshichangrenzhiheshangyehuafazhandouyiburukuaichedao。
zaiip workshopyuzhangxianyi4geduoxiaoshidefangtanzhong,nihuifaxiantabingbushiyige“shanzhangjianggushideren”,tashenshanggengduodeshixuezhedeyanjinhezhipo。xiangbijiaopengfengdeyoushi,tajiangdegengduodeshixingyexianzhuangyuruhedapopingjing。
yanxia,duiyugongsideshiming,tafanfuqiangdiao“jiasushangyehua”,gongyejichanpinluodihemianxianggerenkaifazheshengtaigoujiantongshijinxing。
rujin,conganfangzaidaohangkonghangtian,pengfengdechanpinyijingzaiduogechangjingzhongkaishishiceyingyong,yuji2019nianniandijiangshixianyingkuipingheng。danmubiaobuzhibuyuci,xiayibu:jiasuluodi,shengchanqianrushiailingyuzuibangdechanpin,zuogongyejichanpinxianxingluodidegongyingshang。
与嵌入式AI结缘
dasideshihou(2005nian),tongguoyichangbisai,zhangxianyiyuqianrushiai“jieyuan”。
weiruanjubanle(windows embedded student challenge contest)yigezhutijiaozuogoing beyond the boundaries “chaoyuebianjie”debisai,zheishiyichangtuanduizuozhan,4gebenkesheng、2geyanjiushengyizu,genjubutongdezhutijinxingbutongdekaifasheji。zhangxianyineiyizunadaoleqianrushixitongdehuati,tamendeshexiangshizuochaoshigouwucheshangdeyigejiaoyixitong,qieyingyongrenlianshibiejishu。
zhongguodaludiquzuihouxuanbachu10zuruweiqian30ming,zhangxianyituanduiminglieqizhong。suiranzaineichangbisaitamenmeinengzuizhonghuojiang,danduiyudiyicilaimeiguo,canguanleweiruanzongbu,bingzaihuanyingwanyanshangjiandaolezhubanfangzhicijiabinbiergaicidezhangxianyilaishuo,duijishutansuoyuxuexideshiyeyijingdakai。zheicijingliyeweirihoutaqianwangmeiguoshenzaomaixialefubi。
2005nian,zhangxianyibenkebiyebingbeibaoyan,jixuzaibeijingligongdaxueshengengjisuanjizhuanye。zai2006nian,tazaiyiciyuyuanlaidexiaohuobanzuduicanjiale《disanjiequshikejibaiwanchengxujingsai》,zhutifangxiangshiwangluoanquan,congchusai350zhicansaiduiwuzhongtuoyingerchule10zhiduiwu,zhangxianyisuozaidecollapsarduiminglieqizhong,bingzuizhongzhanhuoguanjun,hainalejigedanxiangjiang。
zheiduiyuzhangxianyieryan,chulenadaofenghoudejiangjin,tiyanjishuyuchangjingjiehedeshizhan,gengdadehuibaozeshizaijishulingyujiandingqianxingdexinxin。
2007nianshuoshibiyehou,zhangxianyijinruzhongkeyuanruanjiansuogongzuo,congshigaoxingnengjisuan、xingnengyouhua、juzhenjisuandengfangmiandeyanjiugongzuo。2011nianduboqijian,zaizhongkeyuanruanjiansuodanrenzhuliyanjiuyuandezhangxianyidailingtuanduikaichuanglekaiyuanjuzhenjisuanku——openblas,tabenrenyeshigaixiangmudezhuyaoweihuzhe。zaijuzhenjisuandexifenlingyu,zheishiyigeyouzhidekaiyuanxiangmu。
openblasbeirenweishiyejielingxiandekaiyuanjuzhenjisuanku,zhichijihuquanbudezhuliucpuchuliqihechangjiandecaozuoxitong,tongshinengshixianjiaohaodexingnengyouhua。tazai2016nianhuodelezhongguojisuanjixuehuikejijinbuerdengjiang,tongshiyejinrulehenduozhuliudelinuxanzhuangbao,biruubuntulibaohanleopenblas package。
chucizhiwai,openhpcdetaojianliyeyunyongleopenblas。qiyonghuguangfan,congkaiyuanxiangmujuliayuyan、gnu octave,daoshenduxuexidemxnet、caffe,naizhiibm、arm、yingweidadenggongsiyedouzaitamendechanpinlibianshiyongleopenblas。“tebieshiqianrushiaidehenduoku,doudiaolewomendeopenblas。”zhengtishangkan,congshipeidechuliqifanweihezhichidecaozuoxitong,zaikaiyuankuzhongsuanshizuiguangfandeshixian。
2014nianzhangxianyiboshibiyehou,tadezhiut austinzhiqianyanfagotoblasdeneizhituanduiyoujiaoliufangwenjihui,yushitamengshenglequmeiguodexiangfa。cishi,shenduxuexiherengongzhinengyijingzhujianhuoreqilai。
zai2016nian,zhangxianyiqianwangmitjixujinxiu。yigejiyuanqiaohe,zaimit-chiefzhongguochuangyeluntanshang,zhangxian yijieshileshenzhenjingtaikejidechuangshirenwenshuhao,xiangtajieshaoguoneizhengzhiaichuangyefengkou,zheiyejiandingletachuangyedejuexin。
bishi,rengongzhinengyijingzhenzhengjinrudazhongshiye,shenduxuexisuanfachengweirenmenguanzhudejiaodian,jisuanjishijueshibielingyuzaichuangtoujiekaishihuodezhuipeng。zhangxianyijuedinglikaimit,huiguofazhan,2016niandipengfengkeji(perfxlab)chuangli。
suihoubujiu,perfxlabbianhuodeleziniujijinyumingshizibenzhurudetianshilunrongzi。zhangxianyiyewanchenglerenshengdeyicishenfenzhuanhuan。
找寻商业场景
zaiaizhujiantansuoshangyehuadedaolushang,renmenzhujianfaxian,yaoshixianjishudeluodi,bujinxuyaoxingnengyouyuedesuanfamoxingyijikekaodeyingjianzhichi,haixuyaoba ai jishuheyingjianhuanjingjinxingjiehe,zaiyingyongdaoshijideshenghuozhong,yicilaimanzuyonghuxuqiu。
weici,pengfengkejiyongjinsanniandeshijianchendiandiedaizijidejishu,congzuichuxiangzuoqianrushirengongzhinengdedicengruanjian,daomuqianzuoruanyingjianyitidejiejuefangan,bingyichengweiguoneizaiqianrushiaigongyejilingyuluodideshougegongyingshang。
zaikuangjiaceng,pengfengkejituichuleqingliangjideshenduxuexituilikuangjiainferxlite,zhichiarm cpu,arm mali gpu,amd apu soc,yijinvidia gpu,xiangbijiaomuqiandechuantongtongyongkuangjiajubeixiao、qing、kuaideyoushi,daima
jiyuopenblasdechenggongjingyan,tuanduidazaoleperfblas——zhenduiarmdengqianrushipingtaijinxingshenduxuexijuanjisuanfayouhua,keyongyuyidongpingtai,shouji、jiqiren、wurenjidenglingyu,tigongdezhuyaogongnengshirangshenduxueximoxingnenggoubijiaoliuchangdizaizheixieyingjianpingtaishang“paoqilai”。yeyinci,pengfengkejizuichudekehudaduoshishoujichangshanghuoshoujixiangguanruanjianfuwushang,birumomo、360,doushitadekehu。
“zhaoshoujichangbianchengshoujilibiandeyibufen”shipengfengkejizai2017nianzuizhongyaodegongzuozhiyi。danhenkuai,zhangxianyiyishidaozhishizuoyigeruanjianfuwushangshiyuanyuanbugoude。tayizhizaisikao:“womenkekuozhanshangyemoshidaodishishenme?”
daole2018nian,zhangxianyifaxiankehudexuqiuyousuobianhua,gengduodeshiruanyingjianjiehedefangxiang。“zheishiyigebijiaodadegaibian,beihouyiweizhe,kenenghuiyouyixiebijiaohaodedingjia(shangye)moshi。”
zhangxianyizuolezheiyangyigebiyu,zaicizhiqian,pengfengkejitigongdefuwugengxiangyigeheshidechanzihuoyikuaizhuan,“danmianduigengdaliangdekehu,shixuyaonitigongyizuoqiaohuozheyigefangzi。zheiduiyuwomenlaishuo,jiuxuyaochanpinnengjichenggengduodongxi。”
yinci,jiyuhexinderuanjiankuangjiaheduozhongjisuanku,pengfengkejijichengleyitihuadeyingjianchanpin:qianrushishenduxuexikaifapingtaiperfbox、perf-fpga、perf-apuheperf-vgongchengban。
perfboxcaiyong64weiarmchuliqi,jichengleinferxliteheperfblasdengruanjiantaojian,keyonglaizuoweixuexi、kaifa、bushushenduxuexiyingyongdepingtai。perf-fpgaheperf-apufenbieshimianxiangfpgapingtaiheamdqianrushigpupingtaideshenduxuexiyingyongbushupingtai。
perf-vgongchengbanzeshipengfengkejiweirisc-vkaiyuanshequshejidefpgakaifaban,jubeihenqiangdelinghuoxing,yizhileduozhongrisc-vchuliqijiagou,bingpeibeifengfudexuexiziliao,weirisc-vchuliqishejihefpgachanpinkaifatigongleyigehenhaodeshiyanpingtai。
shichangfankuihexuqiudebianhuadouzhengming,pengfengkejixuanzederuanjianheyingjianxiangjiehedechanpinlujingjueceshifuhemuqianxiaofeiduansuqiude。
zhangxianyijuli,zai2018niandeyigezhanhuishang,tatuanduidaileyixiejiyuarmdeyingjianchanpinqucanzhan。“xingyerenshiganxingqudechengduhewomenzhiqianzhizuoruanjianzhanshi,mingxianbuyiyang。”
tayeyishidao,qianrushiruanjiandanduqumaiqianbingburongyide,yongderenshao、danjiadi、nanyizouliang,dandangbaruanjianchengzaidaoyingjianshang,yonghukeyichumodaochanpindeshihou——wulunshibankahuozhehezi,ruanjiandefujiazhiyenengyouzuidadetixian。
lingyigebianhuashi,zhangxianyifaxianshoujichangshangdejizhongduyuelaiyuegao,zheiyezhaoshizheyukehudehezuoxuyaobuduanzhaoxunxindezengzhangdian。
新的未来
zaichengzhangdeguochengzhong,pengfengkejidechanpinlujingyeyouyuanlaidechunruanjian,fazhanweimuqiande“ruanjian+yingjian+suanfa”jiehedezuohoumoshi,weiraoarm、fpga/dsp、gpu,sangejishufangxiangfali,erfpgashiqihexinlujingbingyijingshangyeluodi。
duibisangejishufangxiang,armjuyoubijiaoqiangdeshiwuguanligongneng,keyiyonglaipaojiemianyijiyingyongchengxudeng,qiyoushizhuyaotixianzaikongzhifangmian。
yiduanshijianyilai,armcengyiduzhanjushichang90%defene,zuichupengfengkejijishuluxianshijiyuarmdekaifa,qiyingjianchanpinyingyongyuanfanglingyuhuomouxiegongyejichangjingdeng。danmanmandi,zhangxianyifaxianlefpgaheaijieheshangzhengzaixingqi,qieqiangqiangjing。
fpgahedspdoukeyiyingyongyugongyejichanpin,shishixingfeichanggao、duihuaijingdeshiyingxingbijiaoguang。jiyuci,pengfengkejidehexinchanpinperf-fpga,yijingkaishibujuheyongyurenlian,xingren,cheliangdengduozhongmubiaohewutijianceyuzhuizongdengchangjing,zhichiwurenji、anfang、keyandengyingyonglingyu。
perf-fpgahangaileshendushenjingwangluosuanfayasuo,dingdianlianghuayijigenjufpgabushupingtaideshengchengjiasuqi。yasuoyulianghuagongjudl-quantskeyidaoruduozhongzhuliushenduxueximoxing, dl-compilerkeyikuaisushengchengdljiasuqiheyunxingdaima。dl-acceleratorcaiyongrtlshixian,dicengzhenduibutongpingtaizuoleshipeiheyouhua,shiziyuanzhanyonghexingnengdadaojizhi。
zhangxianyituanduiyijingbatadechanpinyingyongzaihangkonghangtianlingyu,biruwurenji、yewaizhishoudenglingyu,“womenyudaoyigeqianzaikehu,chanpinyaofangzaiziranbaohuqu。”jiuruyigedianzijingchayan,yaoxunsushibiejinruxiangyingquyudechelianghuorenyuan,zheiduichanpinlaishuoyouhendatiaozhan——yewaihuanjingfuza,gongdiannanduxishuda,huanjingduobian,yaoqiuchanpingenggaodekekaoxing。
zhangxianyiqiangdiaozheiyichanpindeyidatedianshizaifuzachangjingdegaosushibie——jiancefanyingsudugaoda70zhenmeimiao,“xuyaoxunsudibianbiechushihezhongcheliang,renyuandeng。nengzuodaozheigejibieshifeichangburongyide。”zaiyiyewubankuai,pengfengkejiyuhezuohuobanlianhekaifabingtigongkexingxingjiejuefangan,muqianchanpinyijingjinrushichangyingyongheceshijieduan,shichangfankuihou,jianghenkuaijinrupilianghuashengchan。
zaifpgashixianluodidejichushang,dspxiangguandejishuchanpinyeyijingchengshubingjiasubuju,qianrushigpufangmianyeyuamdgongsizhankaihezuo。
xianran,zaiguoneigongyejichanpinzhinenghualingyu,pengfengkejishishougefali,binglvxianjiangchanpinluodideqiye。erzheiyishichang,“guimojiangshiqianyiyuanjibiedejudalanhai。”pengfengkejiyixianxingyibu——congyanfadaomaichanpin,xuyaojiniandeshijian。xianzai,zheiwuyijihoulaizhejiangdailaiyidingdeshichangyali。
yucitongshi,pengfengkejizhengzaikaifayigemianxianggerenkaifazhedefpga aipingtai。“xiangdangyushiyigefpgadekaifaban。”zhangxianyishuo,“zheiyouzhuyuhuoke,zengjinshichangrongliang。ranggengduoderenyuezaolejiewomenjishu,cainengyuezaodeyongwomendejiejuefangan。”
ciqian,zaizheiyilingyu,pengfengkejizuidadejingzhengduishoushishenjiankeji。zai2018nianxiabannian,quanqiuzuidade fpga changshangsailingsiduitajinxingleshougou。shenjiankejichengliyu2016 nian,yizhijiyusailingsidejishupingtaikaifajiqixuexijiejuefangan,shenjiankejituichudelianggeyongyushenduxuexichuliqidedicengjiagou——yalishiduodejiagouhedikaerjiagoude dpu chanpin,doushijiyusailingsi fpga qijian。
shenjiankejitongguoshenjingwangluoyu fpga dexietongyouhua,tigonggaoxingjiabideqianrushiduanyuyunduandetuilipingtai,yingyongyuanfang、shujuzhongxin、qichedenglingyu——zheiyeshipengfengkejiyizhizaizuode。
ershenjiankejigaojiabeishougou,zuyizhengmingfpgazheigelingyudeshichangkongjianhejudaqianjing,erzheiduizhangxianyituanduieryan,yeshiyigehaodeyujian:zaibeisailingsishendubangdingzhihou,yixieyiqianshenjiankejidekehujiangxunqiuxindegongyingshang,erpengfengkejizaijinyiduanshijianneixunsudichengzhangyubuju,wuyiyichengweizheiyiyewulingyuyongyoudingjianjishu,bingqielvxianshixianzaigongyejichangjingkuaisushangyehualuodidegongsi。
weicipengfengkeji,chixuhuodelezibenderenkehejiachi。zhangxianyitoulu,zaijipre-alunrongzihou,jinqijiangwanchengpre-a+lunrongzi,jiangchixujiadazaigongyejiluodiyingyong、yijimianxianggerenkaifazhekaiyuankaifangpingtai/shequdeshengtaipeiyuliangdashangyelingyudetouruhetuozhan。
“chuantoukehudexuqiuchangjingshiwomenyaochixudizuo,zaizheigejichushangjixudiedaishengji,zhujiuzijideshangyebilei。”zhangxianyirushishuo。