bkk16-212: what's broken on arm64?

37
THE STATE OF ARM64 WOOKEY, [email protected]

Upload: linaro

Post on 12-Jan-2017

488 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: BKK16-212: What's broken on ARM64?

THESTATEOFARM64WOOKEY,[email protected]

Page 2: BKK16-212: What's broken on ARM64?

WHOISWOOKEY?DebianDeveloper,ARMporterEmbedded/multiarch/crossbuild/bootstrapLinaro,secondedfromARM

Page 3: BKK16-212: What's broken on ARM64?

RAMBLETHROUGHSTATESupposedtobeBOF-yBuilt,working,optimised,missingHardwareavailabilityBenchmarking,whatnext

Page 4: BKK16-212: What's broken on ARM64?

MOSTLYWORKING!Nearlyeverythingbuilds

Page 5: BKK16-212: What's broken on ARM64?

I'mabuildengineer

Ifitbuilds,it'sdone.

Page 6: BKK16-212: What's broken on ARM64?

SoweareDONE:-)

Page 7: BKK16-212: What's broken on ARM64?

MOSTLYDONEThingspeoplecareaboutworkSomethingsstillneedporting

Page 8: BKK16-212: What's broken on ARM64?

BUTHOWWELLDOTHEYWORK?Somethingsmaynotworkatall...PopularthingsareoptimisedManythingsarenotNeedfeedbackfromrealusers

Page 9: BKK16-212: What's broken on ARM64?

SOMEHISTORYStarted2010-toolchains'Fast'Model2011Qemu2013HardwareMarch2014

Page 10: BKK16-212: What's broken on ARM64?

5BOOTSTRAPSCrossbuiltinternalbootstrap2011Crossbuiltubuntubootstrap2012Ubunturebootstrap2013/14Debianportsrebootstrap2014Debianofficialrebootstrap2014/15

Page 11: BKK16-212: What's broken on ARM64?

NOW96%built(11205packages)314failed370notforus

Page 12: BKK16-212: What's broken on ARM64?
Page 13: BKK16-212: What's broken on ARM64?
Page 14: BKK16-212: What's broken on ARM64?

LANGUAGESOptimised

C,C++,Java(8&9),Python,Perl,Ocaml,Javascript(v8),Haskell(ghc),Lisp(SBCL)(2months)

PortedLua,R,Rust,Golang,Julia(3days),Perl6(3months),Javascript,Pascal(fpc)(justnow!),

MissingMono,libphobos(D),Luajit,?

Page 15: BKK16-212: What's broken on ARM64?

STILLMISSINGMono(23)libphobos(D-libraries)(11)

Page 16: BKK16-212: What's broken on ARM64?

MONOBlocks23packagesDonebutnotreleasedDoesanyonecareenough?Coreclrinstead?(notinDebianyet)

Page 17: BKK16-212: What's broken on ARM64?

FREEPASCAL(FPC)Blocks22packagesPortDoneUploadedyesterday:-)

Page 18: BKK16-212: What's broken on ARM64?

NOTMISSINGNodejs-libv8Julia-uploaded3daysagogolang-(basesupportinv1.5)Lua(butnoluajit)Ocaml(nativein4.02,2015.07)SBCL(2015.10)Perl6(2015.10)

Page 19: BKK16-212: What's broken on ARM64?

OPTIMISATIONCfallbackAssembler,Intrinsics,Neon

Page 20: BKK16-212: What's broken on ARM64?

ASSEMBLERINPACKAGES1000bitsofassembler:

https://wiki.linaro.org/Platform/DevPlatform/ArmSoftwareListhttp://performance.linaro.org/

Removingoftenbetterthan'fixing'(e.g.alsalib)

Page 21: BKK16-212: What's broken on ARM64?

WHAT'SOPTIMISEDGCC(compilers)LLVM(nolinker)(compiler)Java8&9openSSLlibV8(Javascriptjit)fftw3(FFTlibrary)Neonsupportgnu-mp(gmp)(Feb2013)hadoop(crc,usingHWCAP)ceph(crc,usingHWCAP)Kernel(raid6,crypto)Xen,(loadslesscodeonarm64)/li>

Page 22: BKK16-212: What's broken on ARM64?

NOTOPTIMISEDIonmonkey(MozillaJIT)Golang(beingworkedon)OpenCVffmpeg/libav(parts)OpenofficeLua(luajit)R?Whatelse?

Page 23: BKK16-212: What's broken on ARM64?

BLOCKINGPACKAGESmono(23),fpc(22),libphobos(11)dietlibc(5)insighttoolkit(3)timblserver(2)umview(3)kexec-tools(2)

Page 24: BKK16-212: What's broken on ARM64?

NEVERBUILT('AUTONOTFORUS')

Forotherarchesnvidia-supportnvramtoolpowerpc-utilsraxml

Probablyshouldbefixedopenafsrootstrapscmqtemudarktablelotsmore

Page 25: BKK16-212: What's broken on ARM64?

IHAVENOHARDWARE!ONLINE

OVH(Runabove.com)ThunderXOBS(OpenBuildSystem)Debianporterboxes

Page 26: BKK16-212: What's broken on ARM64?

IHAVENOHARDWARE!HARDWARE

HPMoonshotARMjunoAPMC1Softiron3000GigabyteMP30Hikey(96boards)Dragonboard410c(96boards)AnacondaPine64

Page 27: BKK16-212: What's broken on ARM64?

AppliedMicroX-gene

$1500

Page 28: BKK16-212: What's broken on ARM64?

Juno(ARMA57)

$6000

Page 29: BKK16-212: What's broken on ARM64?

Moonshot(HP)

$10000+

Page 30: BKK16-212: What's broken on ARM64?

Softiron3000(AMDseattleSOC)

$2500

Page 31: BKK16-212: What's broken on ARM64?

GigabyteMP30(X-geneSOC)

€950

Page 32: BKK16-212: What's broken on ARM64?

Hikey(96boards,Hisilicon/Lemaker)

$75(1G)$99(2G)

Page 33: BKK16-212: What's broken on ARM64?

Dragonboard410c(96boards,Qualcomm)

$75

Page 34: BKK16-212: What's broken on ARM64?

Pine64(AllwinnerA64)

May2016$15(0.5GB)-$29(2G)

Page 35: BKK16-212: What's broken on ARM64?

BENCHMARKINGBenchmarkingacrossarchitecturesisdifficult.

Whataregoodtests?

Sometimesit'sobvious(botch)

Arch BuildTimeamd64: 37marm64(genericocaml): 4hrs52marm64(nativeocaml): 1hr15

Page 36: BKK16-212: What's broken on ARM64?

BENCHMARKINGFindgoodtests?

Broadlyequivalentplatforms

Lookforchangesovertime

Page 37: BKK16-212: What's broken on ARM64?

SO,SUGGESTIONS?