Прямой репортаж с рождения крупного игрока в аппаратном AI, который ускоряет TensorFlow и конкурирует с NVidia



    Завтра будут официальные пресс-релизы о слиянии старожила Silicon Valley, компании MIPS, с молодой AI компанией Wave Computing. Информация об этом событии просочилась в СМИ вчера, и вскоре CNet, Forbes, EE Times и куча хайтек-сайтов вышла со статьями об этом событии. Поэтому сегодня Derek Meyer, президент объединенной компании (на фото снизу справа), сказал «ладно, распостраняйте инфо среди друзей» и я решил написать пару слов о технологиях и людях, связанных с этим событием.

    Главный инвестор в MIPS и Wave — миллиардер Dado Banatao (на фото снизу в центре слева), который еще в 1980-х основал компанию Chips & Technoilogies, которая делала чипсеты для ранних персоналок. В Wave+MIPS есть и другие знаменитости, например Стивен Джонсон (на фото справа вверху), автор самого популярного C-компилятора начала 1980-х годов. MIPS хорошо известен и в России. В руках дизайнерши Смрити (на фото слева) плата из Зеленограда, где находятся лицензиаты MIPS Элвис-НеоТек и Байкал Электроникс.

    Wave уже выпустила чип, который состоит из тысяч вычислительных блоков, по сути упрощенных процессоров. Эта конструкция оптимизирована для очень быстрых вычислений нейронных сетей. У Wave есть компилятор, который превращает dataflow граф в файл конфигурации для этой структуры.

    Объединенная компания создаст чип, который состоит из смеси таких вычислительных блоков и многопоточных ядер MIPS. Сейчас Wave продает свою технологию в виде ящика для дата-центров, для вычислений нейронных сетей в облаке. Следующие чипы будут использоваться во встроенных устройствах.

    Нейронные сети традиционно представляют в виде dataflow-графа. Это граф, в узлах которого находятся константы, переменные и арифметические операции над скалярами, векторами и матрицами:



    Компания Google создала библиотеку TensorFlow, которая является API-ем для строительства таких графов и запуска вычислений на сетке — как обычного inference, так и тренировки с помощью backpropfgftion. Этот API чаще всего используется вместе с питоном, код на котором выглядит вот так:



    При этом питон в примере выше использует переопределение арифметических операций, которые на самом деле не вычисляют, а строят граф в памяти. На C код для строительства графа в TensorFlow выглядит так:



    В Гугле у меня есть знакомый украинский программист Михаил Симбирский, который использует TensorFlow на питоне. Гугловские нейросети используются например для анализа поведения пользователей с целью таргетирования им рекламы. Некоторые вычисления для тренировки нейросетей в гугле занимают дни и недели, несмотря на то, что гуглы используют NVidia GPU и собственные гугловские акселераторы. Это дело непростое, так как передача данных между процессорами и GPU отнимает много времени:



    Одна из проблем конструкции из процессоров и GPU заключается в том, что GPU подолгу простаивает:



    Другая проблема — недостаточная пропускная способность интерфейсов к памяти. Wave в комбинации с MIPS собирается решить и одну и другую проблему. В новых изделиях не процессор будет использовать акселератор как сопроцессор, а они будут работать вместе.

    Для этого ядра MIPS будут модифицироваться, чтобы в конечном итоге создать стандартную аппаратную платформу для AI. Преимущество ядер MIPS I6400/I6500 («Самурай/Даймио») и MIPS I7200 (которое лицензировал MediaTek) — это многопоточность. Многопоточности у ARM нет. Вот как выглядит многопоточный конвейер у ядра MIPS I6400:



    А теперь внимание вопрос к самым сообразительным комментаторам: какое, по-вашему, преимущество дает многопоточность для комбинации из CPU и аппаратного акселератора? В частности акселератора от Wave, который является вариантом так называемого CGRA — Coarse Grained Reconfigurable Array — крупнозернистых реконфигурируемых массивов.

    Если вы знакомы с FPGA (Field Programmable Gate Array) / ПЛИС (Программируемые Логические Интегральные Схемы), то идея CGRA в чем-то похожа, но они работают не с отдельными битами, а с целыми шинами по 8-64 бита и в каждой ячейке есть ALU, а для нескольких ячеек — арифметический сопроцессор. Вот так выглядит все иерархия:



    А вот так выглядит одна реконфигурируемая ячейка. У нее есть небольшой буфер с инструкциями, которые напоминают простые команды 8-битных аккумуляторных микроконтроллеров, например 6502 который стоял в первых компьютерах Apple. При этом, процессоры в древних Apple работали с частотой пару мегагерц, а ячейки в CGRA работают с частотой несколько гигагерц. Кроме этого в Apple процессор был один, а тут таких ячеек 16 тысяч:



    Кристалл у Wave получается понятно огромный, поэтому приходится использовать локально-синхронные схемы с тактовым сигналом на каждую группу из ячеек. Но самая большая проблема — это не аппаратная, а программная. Граф для вычисления сетки приходится раскидывать на эту кучу устройств с точным знанием, в каком цикле будет что вычисляться. Это называется static scheduling. Поэтому Wave нанял кучу компиляторщиков, включая известнейшего зубра — Стивена Джонсона, который стоял у истоков вместе с Керниганом и Ричи. Вот что писал про Стивена Джонсона Деннис Ритчи:
    В 1980-е Си быстро набирал популярность и компиляторы стали доступны практически на каждой машине и операционной системе; в частности, он стал популярным как язык программирования для персональных компьютеров, причем одновременно как для разработчиков коммерческого программного обеспечения для этих машин, так и для рядовых пользователей, увлекающихся программированием. В начале десятилетия практически каждый компилятор был основан на pcc Джонсона; к 1985 было уже много компиляторов, созданных независимыми разработчиками.
    Когда мне было 18 лет (в 1988 году) и я был студентом МФТИ, Стивен Джонсон был моим Богом. Я участвовал в разработке двух компиляторов на основе его Portable C Compiler. Один компилятор был для Электроники СС БИС, «Красного Крея», советского аналога векторного суперкомпьютера Cray-1. Второй компилятор был для Орбиты 20-700, встроенного компьютера в советских истребителях МиГ-29 и других начала 1980-х годов.

    Поэтому я просто обязан был сфотографироваться с Стивеном Джонсоном. Он рассказал мне про другие тулы, которые он делал как для Unix, так и для автоматизации проектирования, автоматического профилирования и т.д.



    И разумеется сфотографировался и с инвестором во все это дело Дадо Банатао. Давным-давно Дадо Банатао создал чипсет для первых писишек. Он отлаживал драйверы вместе с Балмером. «Иногда в комнату заходил Билл Гейтс, который нам мешал» — говорит Дадо Банатао. Теперь у него, согласно интернету, пять миллиардов долларов. Он самый известный хай-тек филлипинец, создает центр AI и ведет другие образовательные программы на своей родине.



    Больше всего денег Дадо Банатао сделал на компании Marvell. Вот ее офис в Санта-Кларе в лучах вечернего солнца:



    В Wave работает много людей которые раньше работали в MIPS. А некоторые из MIPS было в Silicon Graphics, так как MIPS был частью Silicon Graphics в 1990-е годы. В те времена процессоры MIPS стояли в графических станциях, которые использовались в Голливуде для съемок первых реалистичных графических фильмов типа «Парк Юрского Периода». Вот эти графические станции вместе с сибирской девушкой Ириной в Музее Истории Компьютеров в Маунтин-Вью, Калифорния:



    В конце сегодняшнего парти в честь завтрашнего официального объявления и вчерашних публикаций в прессе состоялось поедание тортов и распивание шампанского:



    Завтра будет много работы — от Verilog RTL (моих прямых обязанностей) до обсуждения архитектуры, приложений и даже разговоров с data scientist-ами (они себя ощущают из другой Вселенной, причем это взаимно и с электронщиками, и с компиляторщиками).

    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    Какие области искусственного интеллекта вас интересуют больше всего?
    Поделиться публикацией
    Комментарии 45
    • НЛО прилетело и опубликовало эту надпись здесь
        +2
        Поправил!
        • НЛО прилетело и опубликовало эту надпись здесь
        0
        ARM уже у японцев. Теперь и MIPS туда поматросить отдали. А ведь Трамп вроде как запретил продавать его в Азию.
          +1
          Wave находится в Campbell, California
          0
          Меня интересует та область искусственного интеллекта, которую используют для потокового перевода речи(Speech-to-Speech Real-Time Translation), когда уже данную технологию доведут до ума, и когда качество перевода уже нельзя будет отличить от человеческого.
          • НЛО прилетело и опубликовало эту надпись здесь
              0
              Когда из головы человека можно будет сделать голову робота с экспортированным сознанием человека?
                +1

                Black mirror не смотрели? Эпизод White Christmas о чем-то подобном.

                +1
                Все текущие технологии искуственного интеллекта не имеют вообще никакого отношения к сознанию. Не существует никаких оснований считать, что оно вообще может возникнуть у конструкции на основе логических элементов/D-триггеров/конечных автоматов, и следовательно компьютеров, нейросетей на ускорителях и т.д. Несмотря ни на какое программирование.
                  0
                  Как не существует и никаких оснований считать противоположное.
                    0
                    Разумеется. Не существует никаких оснований считать, что на Альфа Центавра не могут жить синие гуманоиды, похожие на Чебурашку. Ну и что? Считать, что они наверное там живут?

                    Все современные компьютеры вместе с программами любой сложности сводятся к конечному автомату или к модели Хоффмана последовательностных схем. Их можно представить в виде большого количества арифмометров с ручками, связанных рычагами с обратной связью. Ручка играет роль синхросигнала. Если вы не думаете, что у одного арифмометра может возникнуть сознание, то почему вы думаете, что если уставить арифмометрами стадион, то у них возникнет сознание?

                      0
                      Каждый нейрон, является, грубо говоря, вычислителем(арифмометром), который принимает, обрабатывает и передаёт информацию, однако сам по себе не обладает сознанием. Сознание возникает как свойство работы всей системы, а не отдельных её компонентов. Поэтому вопрос тут в мощности компьютеров, точности моделирования и абстракции нейронов, реализованных на кремнии.
                        0
                        *** Сознание возникает как свойство работы всей системы, а не отдельных её компонентов. ***

                        Ощущение собственного «я» появится во время верчения ручками триллиона арифмометров? А вы уверены? Кто-нибудь ставил такой эксперимент? То, что вы говорите — это просто ваша личная вера. Она ничем не отличается от веры, что если вылепить голема из глины очень хорошо, то он заговорит.

                        Возможно, сознание можно получить искуственно, но совершенно не факт, что на основании гейтов и D-триггеров.
                          0
                          Собственно, я к тому и веду, что пока нет объективных доказательств или опровержений, либо проведенных экспериментов, — это остаётся вопросом веры, как моей, так и вашей.

                          Возможно, сознание можно получить искуственно, но совершенно не факт, что на основании гейтов и D-триггеров.

                          Сознание, безусловно, можно получить искусственно. Всё, что создано природой в ходе эволюции, человек в принципе может повторить.
                            +1
                            Я полагаю, что вы не очень твердо разобрались с критерием Поппера, бритвой Оккама, фальсифицируемостью, критерием научной истины и так называемой нулевой гипотезой (гипотезой по умолчанию).

                            Например бессмысленно спорить есть ли синелицые марсиане в глубоких пещерах внутри Марса. До тех пор, пока эти пещеры не были как-то обнаружены с признаками наличия в них синелицых марсиан. В данном случае нулевая гипотеза — что синелицых марсиан в глубоки пещерах нет.

                            Точно также бессмысленно спорить о возможности возникновения ощущения собственного «я» у конструкции из гейтов И/ИЛИ/НЕ и флип-флопов / D-триггеров. Посколько нет никаких свидетельств, что оно может в этой конструкции возникнуть.

                            Довод, что это можно себе представить так же несостоятелен, как и аппеляция к возможности синелицых марсиан на основании того, что про это были сняты фильмы Голливуда.

                            Эквивалентность нейрона и блока последовательностной логики является вашим предположением. В нейроне могут происходить квантовые эффекты или вообще какие-нибудь неоткрытые наукой феномены, которые принципиально не возникают в боке последовательностной логики. По той же причине, по которой Солнце — это не большой костер.

                            Может сознание вообще находится не в нейроне, а например нейрон является «приемником» из некоего другого источника.

                            Научная истина является tentative, т.е. в некоторый момент всегда есть истина по умолчанию. Которая может измениться, если в друг появится evidence — новые данные. Никаких данных, что у группы гейтов и флип-флопов может появится сознание собственного «я» сейчас нет. Поэтому текущая научная истина по умолчанию — что сознания у группы гейтов и флип-флопов нет, независимо от из количества. По той же причине, по которой глиняный голем не будет говорить, весит ли он тонну или сто тонн.

                            *** Всё, что создано природой в ходе эволюции, человек в принципе может повторить. ***

                            Это тоже не факт. Вполне возможно, что за время существования человенка как вида (среднее время существования видов млекопитающих — несколько миллионов лет) никому, из-за естественных ограничений человеческого интеллекта, так и не удастся решить загадку self-awareness, по той же причине, по которой собакам или лошадям никогда не удастся построить трактор или доказать теорему Пифагора, хотя мозг у них не так уж сильно отличается от нашего.
                              0

                              Научная истина, как вы сами написали, постоянно изменяется. Нулевая гипотеза (гипотеза по умолчанию) считается верной, пока не доказано обратное. Те самые evidence — новые данные, сами по себе не появляются, поэтому необходимо проводить исследования в этой области, пока нулевую гипотезу не будет возможности подтвердить или опровергнуть, а не забивать на неё лишь потому, что она может и не подтвердиться.


                              В нейроне могут происходить квантовые эффекты или вообще какие-нибудь неоткрытые наукой феномены, которые принципиально не возникают в боке последовательностной логики.

                              Хотя некоторые ученые поддерживают идею о квантовой природе сознания, в целом, она является маргинальным направлением науки и опровергается расчётами. Tegmark M. Importance of quantum decoherence in brain processes


                              Может сознание вообще находится не в нейроне, а например нейрон является «приемником» из некоего другого источника.

                              А что значит эта мысль, мне вообще не совсем понятно. Пахнет чем-то религиозным. Извините, если не прав.


                              Это тоже не факт. Вполне возможно, что за время существования человенка как вида (среднее время существования видов млекопитающих — несколько миллионов лет) никому, из-за естественных ограничений человеческого интеллекта, так и не удастся решить загадку self-awareness, по той же причине, по которой собакам или лошадям никогда не удастся построить трактор или доказать теорему Пифагора, хотя мозг у них не так уж сильно отличается от нашего.

                              Здесь тоже не согласен. Люди уникальны в своих адаптационных и технологических возможностях, так что невозможно сделать никаких надёжных выводов о вероятности человеческого вымирания на основе прошлых вымираний других (в подавляющем большинстве неразумных) видов.

                                0
                                *** пока нулевую гипотезу не будет возможности подтвердить или опровергнуть ***

                                Нулевую гипотезу нельзя подтвердить, по определению. Любые новые эксперименты могут ее либо опровергнуть, либо не опровергнуть (failed to reject).

                                Гипотеза что якобы при работе достаточно большой конфигурации гейтов и флип-флопов возникает сознание не является фальсифицируемой по критерию Поппера, так как никто не придумал эксперимент, который мог бы ее проверить. Тест Тьюринга таким экспериментом не является.

                                *** Пахнет чем-то религиозным. Извините, если не прав. ***

                                Ничего религиозного. Как появление результатов вычислений на терминале вашего компьютера, когда сами вычисления происходят где-то далеко на сервере.

                                *** Люди уникальны в своих адаптационных и технологических возможностях ***

                                Через N лет Земля сначала потеряет океаны, а потом Солнце превратится в красный гигант, который поглотит Землю. Люди смогут выжить внутри звезды? А как тогда они смогут выжить? Придумать нуль-транспортировку и улететь в туманность Андромеды? Ну а если это принципиально невозможно в нашей Вселенной, как скажем карасю вылететь на орбиту?
                                  0
                                  Гипотеза что якобы при работе достаточно большой конфигурации гейтов и флип-флопов возникает сознание не является фальсифицируемой по критерию Поппера, так как никто не придумал эксперимент, который мог бы ее проверить. Тест Тьюринга таким экспериментом не является.

                                  Да, на данный момент у нас нет надёжного теста для проверки того, обладает ли машина сознанием. Но это одинаково верно как для сознания на основе группы гейтов и флип-флопов, квантового или какого-либо другого. Что до фальсифицируемости гипотезы по критерию Поппера, то у нас сейчас просто недостаточно мощности компьютеров для проведения такого рода эксперимента, например, для точной эмуляции биологической нейронной сети.
                                  Может сознание вообще находится не в нейроне, а например нейрон является «приемником» из некоего другого источника.

                                  Как появление результатов вычислений на терминале вашего компьютера, когда сами вычисления происходят где-то далеко на сервере.

                                  Текущая научная истина по умолчанию: сознание — продукт работы мозга, а то, что вы пишете про некий «приемник», легко срезается бритвой Оккама.

                                  Вы готовы принять такие маргинальные версии, как «нейрон является «приемником» из некоего другого источника» и квантовые эффекты сознания, но почему-то крайне категоричны по поводу возможности реализации сознания на +- текущей архитектуре компьютеров. На мой взгляд, вопрос тут больше в «софте», алгоритмах, чем в «железе». Но, в любом случае, кто прав и что будет дальше, покажет лишь время и дальнейшие открытия.
                                    0
                                    Берем 2-битный сумматор (комбинационную схему) и подсоединяем ее к двум D-триггерам. Получаем простую последовательностную схему — счетчик (см. анимацию ниже).

                                    Счетчик содержит все элементы, которые есть и у других последовательностных схем- компьютерах, айфонах, аппаратных ускорителях нейросетей, контроллерах роботов и т.д. Эти элементы: 1) вводы; 2) выводы; 3) текущее состояние (регистры); 4) правила вывода следущего состояния из текущего (комбинаторное облако). Никакое количество алгоритмов и программирования это не изменит. Конструкция незамысловата, как мясорубка или как инструкция по пользованию логарифмической линейкой. Отличается только размерами.

                                    А теперь вопрос:

                                    1) есть ли ощущение собственного «я» у вас? Да/Нет?
                                    2) есть ли ощущение собственного «я» у счетчика на рисунке? Да/Нет?
                                    3) есть ли ощущение собственного «я» у квадриллиона счетчиков на рисунке? Да/Нет?

                                    Если ответ на (2) «Нет», а ответ на (3) «да», то при каком N происходит появление рояля в кустах, то бишь ощущения собственного «я»?



                                    Для сравнения: а вот простейший процессор. Тот же счетчик, только с другим правилом вывода и бОльшим количеством элементов состояния (регистров и памяти):

                                      0
                                      Мы ходим кругами. Я выше уже писал об этом:
                                      Каждый нейрон, является, грубо говоря, вычислителем(арифмометром), который принимает, обрабатывает и передаёт информацию, однако сам по себе не обладает сознанием. Сознание возникает как свойство работы всей системы, а не отдельных её компонентов. Поэтому вопрос тут в мощности компьютеров, точности моделирования и абстракции нейронов, реализованных на кремнии.

                                      На что вы ответили:
                                      Ощущение собственного «я» появится во время верчения ручками триллиона арифмометров? А вы уверены? Кто-нибудь ставил такой эксперимент? То, что вы говорите — это просто ваша личная вера. Она ничем не отличается от веры, что если вылепить голема из глины очень хорошо, то он заговорит.

                                      И ещё раз:
                                      Что до фальсифицируемости гипотезы по критерию Поппера, то у нас сейчас просто недостаточно мощности компьютеров для проведения такого рода эксперимента, например, для точной эмуляции биологической нейронной сети.

                                      На данный момент нет причин полагать, что процессы, происходящие в мозгу, не являются вычисляемыми. И мозг — это просто очень-очень сложный компьютер, со своими очень-очень сложными алгоритмами, но, по своей сути, он просто
                                      мясорубка или как инструкция по пользованию логарифмической линейкой
                                      только намного сложнее.
                        0
                        P.S. Я не утверждаю, что сознание можно реализовать на современной архитектуре, а лишь говорю, что нет весомых обстоятельств утверждать, что нельзя.
                          0
                          Строго говоря, в модели Хаффмана не было регистров и клока. В его время в качестве памяти использовали линии задержки, синхронных схем еще не существовало, а Мур и Мили еще футбол во дворе гоняли. Рисунок не верен, и я бы его даже студентам не стал показывать.
                            0
                            Вот схема из советского перевода американского учебника (Switching Theory Volume I Only: Combinational Circuits, 1965 by Raymond E. Miller ) image
                              0
                              Спасибо, это корректная поправка
                  +2
                  на фото снизу в центре слева

                  Три зелёных свистка вверх.
                    +2
                    Одна из проблем конструкции из процессоров и GPU заключается в том, что GPU подолгу простаивает

                    и идёт ссылка на статью от 9 ноября 2015 года, в тот же день был зарелизен самый первый tensorflow версии 0.5. Первые версии tensorflow работали чуть ли не в 4 раза медленее чем тот же theano, видимо, потому что создатели tensorflow поначалу не особо запаривались над оптимизацией. Конец 2015 года это всё ещё Maxwell… Короче, много времени уже утекло и сейчас это проблема до сих пор присутствует, но её влияние сведено к минимуму, благодаря оптимизации в том числе в CUDA/cuDNN.
                      0
                      Перед комментарием есть знатная тема с обсуждением ошибок — не проверил не говори. Купите Jetson TX2 с паскалем на борту и будете «наслаждаться» проблемами, описанными в этой статье. И не только, еще с большим выделением памяти GPU и с сегментацией памяти будете иметь проблемы.
                      0
                      Многопоточности у ARM нет.

                      У ядер ARMH нет, а вообще есть.
                      Например у ThunderX2 — SMT4
                        0
                        Да, согласен, это Cavium перенес свои наработки в своем MIPS-based SMT в свой же ARM-based дизайн
                      +1
                      Вопрос: когда можно будет провести эксперимент с подобным оборудованием?

                      Дело в том, что я уже проверял подобные маркетинговые утверждения этой весной. Представитель одной крупной международной компании заявлял, что если взять видеокарту за $500 и сравнить их решение за те же деньги, то разница будет всего в 3 раза в пользу видеокарты. Когда я провел эксперименты с TensorFlow, в соответствии с инструкциями технического специалиста из этой компании, то оказалось в 160 раз. Я не скептик, я действительно хочу найти альтернативу GPU.
                        0
                        Первые устройства с текущей версией Wave ускорителя только начали приходить для опробывания к клиентам, поэтому ответ на вопрос «когда это может купить каждый» я еще не знаю.
                        0
                        Wave очень сомнительная контора. Исторически они отпочковались от асинхронных стартапов, которые проводили исследования на деньги военных. Асинхронные разработки не пошли, поэтому несколько лет Wave буксовали, переименовались один-два раза и вдруг — о чудо! Оказывается, они уже занимаются AI, выпустили чип и даже купили мипс. По крайней мере, я рад за мипс :-) Но вот интересно, а осталось ли хоть что то асинхронное в сегодняшнем Wave?
                          +1
                          Индивидуальные ячейки и группы по 8 штук из них сидят на одном clock-е, но вот при коммуникации между ячейками появляется асинхронность, из-за очень большого размера чипа.
                            0
                            Знаете, почему они Wave? У асинхронщиков еще с середины 70х появился термин -волновая (фактически — конвейерная) обработка информации. Принцип тот же, что и у ряда из падающих фишек домино, только если бы фишки потом вставать могли — тоже волной, но противоположно направленной. Т.е. в схеме идет два встречных процесса, прямая волна — обработка информации, и встречная волна — гашение. Когда образовали стартап Wave, они вроде бы собирались делать асинхронные чипы по волновому принципу, отсюда и название. Ну что же, значит только это слово и осталось от асинхроники. Так же как Achronix уже давно не асинхронный. Жаль.
                              0
                              Про wave pipelining я что-то видел, хотя так и не понял, как он работает.
                                +1
                                Это один из двух принципов работы асинхронных схем, популярный в основном в Америке. Я там писал выше уже про домино. Если поставить фишки домино в ряд, а потом толкнуть первую, то они повалятся — волной. А потом надо представить что после падения, фишки встают обратно, получается обратно направленная волна. Т.е. две встречных волны — одна валит фишки, вторая подымает. Вот и весь принцип wave pipelining (абстрагируясь от реализации). Фактически, схема является большим конвейером. Если схема не конвейерная, этот метод не работает. Еще забавный момент — у волны должен быть источник, в литераторе его называли водителем ритма rhythm driver. Структура конвейера может быть многомерной, но rhythm driver только один, иначе будет нарушаться целостность пакетов на стыках волн от разных драйверов. В общем, все это интересно, но дальше исследований не пошло.
                                  0
                                  Я это посмотрю для общего развития, спасибо. Про домино у нас в MIPS есть знающие это дело, я слышал VP Engineering это упоминал.
                          0
                          Интересная статья, ещё бы больше тех. деталей или цикл статей.
                          А теперь внимание вопрос к самым сообразительным комментаторам: какое, по-вашему, преимущество дает многопоточность для комбинации из CPU и аппаратного акселератора?

                          Наверно дело в том, что благодаря многопоточности проц может отправить запрос на доступ к акселератору и пока данный поток будет ожидать освобождения этого акселератора, другой поток проца может заняться полезной работой. Аналогично, для случая статического планирования на время ожидания акселератора можно запланировать выполнение какой-то задачи.

                          Также интересно, почему они остановились на static-scheduling, если я не подзабыл матчасть, он ведь консервативен, т.е. какая-то часть ресурса всё равно будет простаивать. Почему отказались от каких-то элементов динамического планирования? В любом случае, интересно было бы узнать больше софтово-компиляторных подробностей и решений этой системы.
                            0
                            *** Наверно дело в том, что благодаря многопоточности проц может отправить запрос на доступ к акселератору и пока данный поток будет ожидать освобождения этого акселератора, другой поток проца может заняться полезной работой. ***

                            Это очевидный, но не единственный ответ. Если вы посмотрите MIPS MT ACE, вам может прийти в голову и нечто другое — www.mips.com/downloads/mips-mt-principles-of-operation
                              0
                              Да, действительно. Годная ссылка, спасибо.

                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                          Самое читаемое