Интервю: Qualcomm за Kryo 485 и Hexagon 690 на Snapdragon 855

Травис Лание от Qualcomm седна с XDA за интервю относно процесора Kryo 485 в мобилната платформа Snapdragon 855 и маркетинга на Hexagon 690 DSP.

Миналия месец Qualcomm представи Мобилна платформа Snapdragon 855. Snapdragon 855 е мобилната платформа, която ще захранва повечето водещи смартфони с Android през 2019 г. Qualcomm направи значителни подобрения от година на година с мобилната си платформа от следващо поколение. Мобилната платформа Snapdragon 855 е изградена върху 7nm производствен процес и предлага впечатляващия скок от 45% в производителността на процесора спрямо Snapdragon 845. Подобренията в изчисленията навсякъде позволяват на Qualcomm да се похвали с отлична AI производителност на новия Snapdragon 855. Тук има много информация за разопаковане и ние направихме всичко възможно да я покажем как Qualcomm е подобрила производителността и AI на Snapdragon 855. Въпреки това все още имахме собствени въпроси след разкриването на продукта, така че седнахме с Травис Лание, старши Директор продуктов мениджмънт в Qualcomm, за да говори за Kryo 485 CPU и AI на новия мобилен телефон на Qualcomm платформа.


Марио Сераферо: „45% [скок], това е като най-големият досега. Нека разопаковаме това. Разполагаме с база A76, 7nm – те са големи участници. Изглежда, че откакто се отдалечихте от персонализираните ядра, някои публикации и публика не съм имал много представа какво включва лицензът Built on ARM по отношение на това какво може да позволи ти да направиш. Бяхте доста потаен за това какво включва това [също]. Сега сте на сцената за един от първите ви случаи, поне извън Въпроси и отговори,... но за първи път показахте какви са някои от подобренията и това е страхотно. Така че се чудехме дали бихте искали да разширите как Qualcomm настрои Kryo 485, за да извлече повече от базата на ARM, независимо дали това е разширяване на нещата, които сте изложили там, или нещо, което не сте представили."

Травис Лание: „Така че наистина не мога да кажа много повече от това, което имаше в моите слайдове. Може би на бъдеща дата можем, така че можем да седнем и да вземем някои експерти, които действително са свършили работата; Знам точките за разговор на високо ниво. Но както знаете, A76 вече е дизайн от високо ниво - той е доста добър. И това е една от причините, когато видяхме пътната карта на ARM. Така че си казвам, добре, може би трябва да работим по-тясно с тези момчета, защото изглеждаше много силно. И просто да се върна към коментара ви за персонализирането срещу ARM. Така че добре, има всички тези неща, които можете да направите. И ако правите нещо и то трябва да има диференциация, така че можете да направите нещо сто процента или да си партнирате с тях. И [както в] предишни години, ние сме малко повече за интеграцията. И така, автобуси и как се свързваме със системата, техните функции за сигурност, които поставяме в процесорите, конфигурации на кеша. Сега, когато ангажиментите продължиха по-дълго, успяхме да направим по-задълбочено персонализиране на този. И така успяхме да поставим някои от тези неща там, като по-големи прозорци за изпълнение [извън ред], така че да имате повече инструкции по време на полет, предварителното извличане на данни всъщност е една от областите, в които има най-много иновации в микропроцесорната индустрия точно сега. Много от техниките за много от тези неща са доста сходни, всеки използва TAGE предиктор на разклонения в днешно време, колко голямо го предоставяте, хората знаят как да правят извън ред, препращане и всички тези неща за по-големи кешове. Но предварителното извличане, все още има много, това е едно от онези неща от типа на тъмното изкуство. Така че все още има много иновации в това пространство. Така че това е нещо, с което чувствахме, че можем да помогнем.

И тогава просто защото смятаме, че като цяло вършим по-добра работа с... обикновено можем да реализираме дизайн по-бързо, отколкото други могат да интегрират процесен възел. И така, когато поставим някои от тези неща там, например когато излизате по-извънредно, това е повече стрес върху вашия дизайн, нали? Не е безплатно да добавите всички тези неща за изпълнение там. Така че, за да можете да направите това и да нямате удар върху вас fмакс. Да, това е част от ангажимента, който имаме с ARM, например как ги извеждате?"

Марио Сераферо: „Просто от любопитство, в презентацията вие говорихте за предстоящи подобрения на ефективността от предварителното извличане, говорехте ли за енергийна ефективност, подобрения на производителността, малко от и двете?"

Травис Лание: "Всички гореизброени. Така че по своята същност ние извършваме предварително извличане – вие сте изтеглили неща в кеша. Така че, когато кешът не извършва толкова много достъпи до паметта, сега има обратна страна на предварителното извличане: Ако правите твърде много предварително извличане, вие [използвате] повече памет, защото знам, [вие] правите твърде много спекулативно предварително извличане, но доколкото, ако имате неща и изтегляте правилните неща, тогава няма да отидете в паметта, за да ги изтеглите там. Така че, ако имате по-ефективен инструмент за предварително извличане, спестявате енергия и увеличавате производителността."

Марио Сераферо: „Добре, страхотно, да. Да, не очаквах, че ще можете да се разширите много повече отвъд това, но е интересно, че ако кажете това сега вие персонализирате повече и може би ще можете да споделяте повече в бъдеще, тогава ще следя за това. Така че другият вид въртящи се глави, поне сред хората, от които съм заобиколен, е основното ядро. Така че очаквахме вид по-гъвкави, клъстерни договорености от няколко години насам с [] включването на DynamIQ и че очаквахме, че други компании се отдалечават от [] споразумението 4+4. Така че два въпроса: Какъв беше мотивът зад основното ядро? Как основното ядро ​​е от полза за потребителското изживяване, тъй като нашите читатели биха искали да знаят защо там има само едно ядро, а също и защо не е съвсем самотно ядро? Споделянето на равнината на мощността с клъстера за производителност няма ли да смекчи част от полезността, която бихте могли да получите, ако използвате DynamIQ и някак си го държите самостоятелно?"

Травис Лание: „Нека първо да поговорим за различни часовници и различни равнини на напрежение. Така че всеки път, когато добавите часовник и всеки път, когато добавите напрежение, това струва пари. Така че има ограничение за броя на щифтовете, които поставяте върху опаковката, има повече PLL, които трябва да имате за различни часовници, и просто има увеличена сложност. Така че има компромис с правенето на неща. В един момент стигнахме до някаква крайност; имахме четири различни домейна на четири различни часовника, така че имахме опит с това и беше скъпо. Един вид, когато започнеш да ставаш голям. LITTLE, имате малките ядра на [малкия] клъстер и те не се нуждаят съвсем от същата детайлност, така да се каже, на отделен часовник между малките ядра. Да, някак си е във въздуха какво правите с тях. Така че, когато имате голям. МАЛКА система, тогава обратното имате тези големи ядра. Е, добре, слагате ли всяко от тях на голям часовник? Е, не работите с тях през цялото [през] време, ако всъщност сте в достатъчно ниска ситуация, при която незаетият часовник ще работи на малко ядро ​​така или иначе. Така че наистина двама от тях са достатъчно добри там.

И тогава стигате до мястото, където имахме това основно ядро, където добре, добре, имаме отделно часовниково ядро, което може да работи до по-висока честота. Но тези други ядра, другите клъстери за производителност, не могат да достигнат същата висока честота. Така че, ако искате да получите това пълно право на това ядро, трябва да имате този трети часовник за това. И така, какво прави това ядро? Докоснахме това малко. Големите неща ще бъдат [стартовият] инструмент за приложения и сърфирането в мрежата. И защо само едно ядро? Добре, сега нещата стават по-многонишкови. Например двигателите за игри – ще се върна към това след секунда – се движат много агресивно към повече нишки. Но ако погледнете повечето приложения, дори и да имат множество нишки, ще използвам правилото на Парето, като повечето от тях, 80% от натоварването е в една нишка. Така че можете да направите [едно] стартиране на приложение и то може да се задейства и да светне на всичките 8 ядра. Но повече от вероятно 80% от него е в една доминираща нишка – това е едно ядро. Уеб сърфирането все още е основно, добре, JavaScript, бих казал - уеб сърфирането стана малко по-добро с многопоточност, където можете да имате множество изображения и да ги декодирате. Но, например, JavaScript - [една] нишка ще работи на едно ядро. Така че има голям брой случаи на употреба, които се възползват от наличието на това едно ядро, което е много високо.

Сега имаме три ядра, които работят малко на по-ниска честота, но също така са по-енергийно ефективни. И така, всеки път, когато вие—не знам колко знаете за прилагането на ядрата—но всеки път, когато започнете да достигате върха на честотата, и имплементациите на тези ядра, има компромис в мощността, нещата започват да стават експоненциални в последните няколко мегахерца или гигахерца, които вие имат. Да, и така говорих преди секунда, когато, хей, всички игри започват да стават многонишкови, както всички изведнъж, ако погледнете назад, имаше няколко игри не много отдавна и те просто използват една резба. Но е странно колко бързо може да се промени индустрията. Както през изминалата година, година и половина, те буквално започнаха да поставят всички тези игри в... Вълнувам се от тези игри с висока вярност. И така, докато много неща точно както преди шест месеца до една година, преди това всъщност се обърнаха в цял Китай. В Китай чувам „Наистина не ме интересуват големите ядра, дайте ми осем от всичко, дайте ми осем от най-малките ядра, за да мога да имам осем ядра." ​​Те са се променили, защото искат тези игри, тези игри изискват големи ядра. И сега получаваме обратна връзка от партньори, че „не, ние всъщност искаме четири големи ядра“, заради всички напреднали игри, които излизат. И те ще използват всички тези ядра.

Така че, когато играете, не играете 30 секунди или 5 минути, играете по-дълго. Така че има смисъл, имаме тези три други ядра в повечето от вашите многонишкови случаи на използване на големи ядра, те искат да имат малко повече енергийна ефективност. Някак балансира, имате това ядро ​​с по-висока производителност, когато имате нужда от него за някои от тези неща в някои от тези устойчиви случаи, при които те също имат големи ядра и имате това по-енергийно ефективно решение, с което да се сдвоите че. Това е нещо като мислене - това е малко необичайна симетрия. Но се надяваме, че това отговаря защо [има] основно ядро, защо нямате отделни часовници и защо нямате отделни напрежения? И така мисля, че засегнах всички тези."

Конфигурация на ядрото на процесора Kryo 485. Източник: Qualcomm.

Марио Сераферо: „Сега хетерогенно изчисление. Това е, което Qualcomm подчертава след преместването от старата марка към мобилната платформа, и този вид [а] дескриптор, а също и агрегиране на блокове от описание на определени показатели за ефективност като AI. Как е тази еволюция при преминаването към по-хетерогенен изчислителен подход? Навсякъде от дизайна до изпълнението до маркетинга или каквото можете да докоснете."

Травис Лание: „Върви малко напред-назад. Но в крайна сметка трябва да имате тези двигатели, защото името на играта в мобилните устройства е енергийна ефективност. Сега понякога го виждате да се връща към обобщение от време на време. Ако се върнете към оригинала, дори и за смартфони, функционалните телефони имаха мултимедия и камера възможности до известна степен и така те имат всички тези малки специални неща, защото вие не бихте могли направи го. Ако се върнете към телефоните, които са изградени на ARM 9 или ARM 7, те всички имаха джаджа за хардуерно ускорение за всичко.

Но за да ви дам пример, когато нещо е станало общо и след това отново искат хардуер, ще бъде JPEG. Някога имаше JPEG ускорител. Процесорът в крайна сметка стана достатъчно добър и беше достатъчно енергийно ефективен, а JPEG файловете някак си останаха същия размер, който, хей, знаете ли какво, просто ще продължим и ще го направим на процесора [тъй като] е по-лесно да се направи то. Сега, когато снимките стават все по-големи и по-големи, изведнъж хората започват, знаете ли, всъщност искам тези наистина гигантски размери на фотофайлове да бъдат ускорени. Процесорите [са] или не достатъчно бързи, или изразходват твърде много енергия. Просто внезапно има интерес отново да имаме JPEG ускорители. Така че не винаги нещата вървят по права линия, тогава трябва да погледнете какво се случва в момента със закона на Мур. Всички продължават да говорят за това, хей, може да не си мъртъв, но се забавя малко, нали? Така че, ако не получавате това увеличение на мощността или повишаване на производителността от всеки следващ възел, как ще продължите да добавяте повече функционалност към телефона, ако нямате това допълнително натоварване? Така че можете просто да го поставите на процесора. Но ако нямате повече място за вашия процесор, как да ускорите тези неща? Ами отговорът е, че поставяте всички тези специализирани ядра и неща по-ефективно. И така, това е естественото напрежение.

Ще видите хората да бъдат принуждавани да правят тези неща за общи функции, тъй като може би не всеки ще бъде на ръба на кървенето. Но със сигурност ще се опитаме да останем там възможно най-дълго, но не можем да принудим фабриките да се преместят към следващия възел, ако не е задължително там. Ето защо трябва да се фокусирате върху непрекъснатите иновации и тези архитектури, за да продължите да получавате по-добра производителност и енергийна ефективност. Така че това е нашата сила и нашата история."

Марио Сераферо: „Въпреки че има това преминаване към хетерогенни изчисления, от страна на Qualcomm, много публика и със сигурност много публикации, със сигурност много ентусиасти, изненадващо, които според вас биха познавали по-добре, те все още мислят, разглеждат и оценяват блоковете като отделни образувания. Те все още се фокусират върху: „Искам да видя числата на процесора, защото ме интересува това.“ Те искат да видят номера на GPU, защото харесват игри и т.н. и т.н. Те не ги разглеждат като комуникирани части от един цялостен продукт. Как мислите, че Qualcomm има, е и може да разбие тази парадигма, тъй като конкурентите всъщност продължават да се фокусират върху този специфичен вид блок по блок подобрения в маркетинга? По-конкретно, [ще] преминем към невронните мрежи, нещата с невронния двигател по-късно."

Травис Лание: „Надявам се, че засегнах част от това днес. Ние се съсредоточаваме върху, например, продължителни игри, така че може би ще постигнете добри резултати на всички тестове за игри. Хората стават обсебени от това. Но наистина, това, което има значение, е, ако играете вашата игра, вашите кадри в секунда остават ли постоянно там, където искате да бъдат в най-високата точка за тези неща? Мисля, че хората придават твърде голяма тежест на числото за един от тези блокове. Толкова е трудно и разбирам това желание да ми дадеш едно число, което да ми каже кое е най-доброто. Просто е толкова удобно, особено в AI в момента, просто е лудост. Дори и с CPU бенчмаркове, какво измерва CPU бенчмарк? Всички измерват различни неща. Вземете някой от бенчмарковете, като GeekBench има куп подкомпоненти. Виждате ли някой някога да разкъсва и да разглежда кой от тези подкомпоненти е най-подходящ за това, което всъщност правя?"

Марио Сераферо: — Понякога го правим.

Травис Лание: „Може би вие, момчета, го правите. Вие, момчета, сте като извънредни. Но може би един процесор е по-добър в това и може би един е по-добър в друг. Същото нещо и със SPEC, хората ще подчертаят един SPEC, добре, добре, има много различни натоварвания в него. И те са доста тесни неща, но дори SPEC, който всъщност използваме за разработване на процесори, ако погледнете действителните работни натоварвания, те действително ли са уместни? Страхотно е за сравняване на натоварването на работната станция, но наистина ли правя молекулярно моделиране на моя телефон? Не. Но отново, това е моята гледна точка, повечето от тези бенчмаркове са полезни по някакъв начин, но трябва да разберете контекста на това за какво [са] и как стигате до там. И така е наистина трудно да се дестилират нещата до едно число.

И виждам това по-специално - обръщам се тук малко - но виждам това с AI точно сега, това е лудост. Виждам, че има няколко различни неща, които не биха получили едно число за AI. И така, доколкото говорех за CPU, имате всички тези различни натоварвания и се опитвате да получите едно число. Господи, AI. Има толкова много различни невронни мрежи и толкова много различни натоварвания. Изпълнявате ли го с плаваща запетая, изпълнявате ли го в int, изпълнявате ли го с 8 или 16 битова точност? И така, това, което се случи, виждам, че хората се опитват да създадат тези неща и, добре, ние избрахме това натоварване и го направихме в с плаваща запетая и ще претеглим 50% от нашите тестове в тази мрежа и два други теста и ще ги претеглим на това. Добре, някой всъщност използва ли това конкретно натоварване в тази мрежа? Някакви реални приложения? AI е очарователен, защото се движи толкова бързо. Всичко, което ви кажа, вероятно ще бъде невярно след месец или два. Така че това също е готино в него, защото се променя толкова много.

Но най-голямото нещо не е хардуерът в AI, а софтуерът. Тъй като всички го използват, аз използвам тази невронна мрежа. И така, общо взето, има всички тези множители. Оптимизирали ли сте тази конкретна невронна мрежа? И така оптимизирахте ли този за бенчмарк, или оптимизирате този, така че някои хора ще кажат, вие знам какво създадох бенчмарк, който измерва супер резолюция, това е бенчмарк за супер резолюция AI. Е, те използват тази мрежа и може да са го направили с плаваща запетая. Но всеки партньор, с който се ангажираме, или сме успели да го направим 16 и/или 8 бита и използваме различна мрежа. Значи ли това, че не сме добри в супер резолюцията, защото тази работа не съвпада с тази? Така че единственото ми мнение е, че AI бенчмаркингът е наистина сложен. Мислите, че CPU и GPU са сложни? AI е просто луд."

Марио Сераферо: „Да, има твърде много видове мрежи, твърде много параметризации – различните параметризации водят до различни въздействия, как се изчисляват.“

Травис Лание: „Ще занимава рецензентите.“

Марио Сераферо: „Но ако искате да измерите целия набор от неща, това е много по-трудно. Но да, никой не го прави."

Мишал Рахман: „Ето защо вие, момчета, се фокусирате повече върху случаите на употреба.“

Травис Лание: „Мисля, че в крайна сметка, след като покажете случаи на употреба, това е колко добър е вашият AI в момента. Всичко се свежда до софтуера, мисля, че ще узрее още малко след няколко години. Но в момента има толкова много софтуерна работа, която трябва да се свърши и след това се променят като, Добре, добре, тази мрежа е гореща и тогава например следващата година, „О, не, намерихме нова мрежа, която е по-ефективна във всички тези неща“, така че тогава трябва да преработите софтуер. Това е доста лудо."

Марио Сераферо: „Говорейки за NN, вие някак направихте прехода вместо мен, по-малко неудобно преходно мислене за мен. Преминаване към шестоъгълника. Това е вид един от компонентите, който е най-малко разбран, бих казал, от потребителите, дори повечето ентусиасти, със сигурност моите колеги. Знаете ли, особено като се има предвид, че не беше въведено като AI блок и като нещо като цялата идея за цифрова обработка на сигнали, знаете, когато въвеждате нещо тази оригинална идея се задържа, така че ако се опитвате да направите нещо, добре, това е невронно нещо с невронната, невронна, невронна мозъчна интелигентност, тя някак си се придържа към хората. Те имат AI машинно обучение невронни, невронни, невронни етикети за други решения. Така че искаме може би да ви дадем шанс да обясните еволюцията на Hexagon DSP, защо не сте се отдалечили от това вид инженерно звучащи имена като Hexagon DSP, векторни разширения и т.н., които не са като маркетинг приятелски настроен. Но да, точно като може би като кратък преглед на това как беше за вас в челните редици на DSP да го видите да премине от началото на натоварването с изображения до чисто новия тензорен ускорител."

Травис Лание: „Всъщност това е интересен момент, защото някои от нашите конкуренти всъщност имат нещо, което ще нарекат невронен двигател или невронен ускорител – всъщност това е DSP, това е едно и също нещо. Така че предполагам, че името е важно, но вие засегнахте важен момент и честно казано, когато пуснахме това там, беше за изображения, случайно поддържахме 8 бита. И си спомням, че представяхме на Hot Chips и Пийт Уордън от Google някак ни проследи и каза: „Хей, вие... значи вие поддържате 8 бита, а?“ Да, ние го правим. И така оттам веднага излязохме и като, хей, имаме всички [тези] проекти, които се изпълняват. Тогава отидохме и пренесохме TensorFlow към Hexagon, защото това е като, хей, имаме като този 8-битов поддържан векторен процесор там, за да направим това, и беше на нашия Hexagon DSP. Ако трябва да повторя всичко отначало, вероятно бих го нарекъл Hexagon Neural Signal Processor. И все още имаме другия DSP, имаме скаларни DSP и това е DSP в най-истинския смисъл. И тогава наричаме този вид векторен DSP. Може би трябва да го преименуваме, може би трябва да го наречем невронен сигнален процесор, защото вероятно не си приписваме толкова голямо доверие, колкото трябва за това, защото, както казах, някои хора просто имат векторни DSP и го наричат ​​както и да е, и не са разкрили нищо то е. Отговорих ли на въпроса ти?"

Общ преглед на Hexagon 690. Източник: Qualcomm.

Марио Сераферо: „Така че, да, вероятно по-голямата част е така.“

Травис Лание: "Какъв беше вторият въпрос?"

Марио Сераферо: „Точно как видяхте това развитие вътрешно. Какво беше: опитът, трудностите, предизвикателствата, каквото искате да ни кажете? Как [сте] виждали еволюцията от началото на обработката на изображения до тензорния ускорител?"

Травис Лание: „Беше малко разочароващо, защото сякаш нещото, което ме кара да настръхвам, е, че някои от пресата ще вдигнат ръка и ще кажат: „Qualcomm, какво толкова изоставаш! Защо не го направихте... Кога ще получите като специален процесор за невронни сигнали?“ и просто искам да си бия главата. Сякаш сме първите, които имат векторен процесор! Но въпреки това редактираме това и вероятно ще продължи да има още неща, докато научаваме повече за AI. И така, ние добавихме това друго нещо и да, това е – прави само AI, не обработва изображения като част от шестоъгълния комплекс, така че вие ​​предлагате... тъй като ние все още го наричаме Hexagon DSP, ние наричаме целия комплекс Hexagon процесор [за да] се опитаме да получим уловено име за цялото шестоъгълно нещо сега. Добавихме неща, които всъщност [е] по-директно изчисляване, не трябва да казвам директно изчисляване, като него има това автоматично управление на това как правите тази карта от по-висок ред на мястото, където умножавате матрици."

Марио Сераферо: „Тензорите всъщност са доста трудни за мен, за да обвия главата си. Все едно те също се увиват около себе си."

Травис Лание: „Да, помислих си, че взех часовете по линейна алгебра в колежа. Направих го като човек, „Надявам се никога повече да не ми се налага да го правя!“ И те се върнаха с отмъщение. Предполагам, че си казах: „О, човече, диференциалните уравнения и линейната алгебра се завръщат с отмъщение!“

Марио Сераферо: "Чувствам, че много от колегите ми не са разбрали това. Те все още смятат, че има този загадъчен аспект на NPU, когато е просто куп умножение на матрици, точкови продукти, функции за нелинейност, навивки [и] така нататък. И аз лично не мисля, че това име на машината за невронна обработка помага, но това е работата, нали? Каква част от него или не е разширена, замъглена, нещо като основната математика, изравнена с лопата, от конвенциите за именуване и какво може да се направи? Не знам дали сте мислили за това. [Какво] може да се направи, за да се информират хората как работи това? Как не е просто така, защо например, защо DSP може да прави това, което могат да правят другите нови машини за невронна обработка? Искам да кажа, това е просто математика, но не изглежда, че потребителите, читателите, някои журналисти разбират това. Какво може – не казвам, че това е отговорност на Qualcomm – но какво мислите, че може да се направи по различен начин? Това вероятно е моя отговорност."

Травис Лание: „Честно казано, започвам да се предавам. Може би просто трябва да наречем нещата „невронни“. Току-що говорихме за това как линейната алгебра и диференциалните уравнения ни замаяха главите, когато започнахме да ги разглеждаме неща и така, когато започнете да се опитвате да обясните това на хората, като когато започнете да правите регресионен анализ, гледате уравненията и други неща, главите на хората експлодирам. Можете да научите повечето хора на основно програмиране, но когато започнете да ги учите как работят уравненията за обратно разпространение, те ще погледнат това и главите им ще избухнат. Така че да, забавни неща. Те не искат да виждат частични производни..."

Марио Сераферо: „Вериги от частични производни, не през скалари, а през вектори и включително нелинейни функции.“

Травис Лание: "Късмет с това! Да, така че е трудно и не знам дали повечето хора искат да знаят за това. Но аз се опитвам: вмъквам малко нещо като: „Хей, всичко, което правим тук, е векторна математика. Имаме векторен процесор. И мисля, че хората гледат на това и си казват: „Добре, но човече, аз наистина искам нервна система ускорител.” „Тензор“ все още е математически, но мисля, че хората може да го свързват малко повече с AI обработка."

Марио Сераферо: „Може да е като преодоляване на пропастта, семантичната пропаст.“

Травис Лание: „В крайна сметка мисля, че всичко се свежда до това, че вероятно просто трябва да измислим друго име.“


Всички графики в тази статия са извлечени от презентацията на Travis Lanier на Snapdragon Tech Summit. Можете да видите слайдовете на презентацията тук.