Обсуждение

В архиве: 11 комментариев.

Читать и комментировать в ЖЖ ↗

Имя не сохранено · 3 июля 2010

Комментарий

green arrays тратит 10 pJ на операцию сложения. Но сложение интовое, 18 бит. Т.е. 64 битный ФЛОП, раза в 3-4 больше потребует, т.е. 30-40 pJ. Умножение будет тратить еще больше. С другой стороны, GA выполнены на 130-180 нм нормах, если их уменьшить до 45 нм, то и потребление можно снизить чуть ли не на порядок ((180/45)^2 = 16). А DARPA хочет 20 pJ/op.

Анатолий Левенчук · 3 июля 2010

Комментарий

То есть адресат уже известен, и тип решения он уже подсмотрел у конкурентов? Забавно. Дальше вопрос будет о масштабируемости интов в флоаты, а также ширины дырки в память (у Green Arrays дырка в память как раз небольшая, у них под sensor array все оптимизировано -- грузанули массивчик и обсасывают не спеша). C другой стороны, наверняка в Green Arrays все эти вопросы масштабируемости обсуждали (и часть вопросов даже обсуждали по-русски, там есть и русскоязычные разработчики). Пусть кто-нибудь напишет письмо в Green Arrays про этот конкурс DARPA, предложит поучаствовать в конкурсе :)

Ответ на комментарий

Имя не сохранено · 3 июля 2010

Комментарий

Влияние ГА чувствуется, метрика pJ/op явно оттуда растет :). Хотя нельзя исключать, что эти понятия ГА тоже откуда-то выцепили :) (помимо IntellaSys естественно). Но скорее всего конечно от Чарльза Мура, он ведь наверняка везде бегал и рассказывал :). А сама идея суперкомпьютера, вполне возможно растет из Hypress Creek http://www.colorforth.com/haypress.htm Только у GA надо доработать АЛУ, чтобы оно умело 18*18 умножение делать. Тогда double будет достаточно быстро реализовываться (5 умножений или что-то в этом роде). Но это потребует изменения системы команд, ибо на данный момент, у них нет умножения, оно реализуется программно, что естественно слишком медленно для достижения цели 20 pJ/op.

Ответ на комментарий

potan · 3 июля 2010

Комментарий

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

Имя не сохранено · 5 июля 2010

Комментарий

Надо вообще подругому всё делать. Не должно быть никаких наборов команд вообще. Простой пример. В процессоре "комманды" определяются кучей доступных программисту ячеек, как их настроить - такие команды и будут. Бесконечное количество команд, вместо набора жёстко прошитых (по сути, с потолка взятых). Если при этом ещё снабдить на порядки более широкими шинами, то скорости будут космическими. Посложнее: вообще не нужен процессор. В оперативке все ячейки могут самостоятельно изменять своё состояние в зависимости от соседних. Т.е. получается, мы имеем одновременное выполнение "команды" над гигабайтовыми данными. При этом скорость может быть, в сопоставлении с "процессорной", где-то килогерцевая, но всё равно вычисления будут астрономически мощными. На сколько я понимаю, тут ни малейших затруднений нет в плане возможностей электроники. Наоборот - всё просто, можно хоть сейчас так делать, да даже лет десять назад можно было. Проблема вся в математике. Сейчас даже и про простую логику с наборами команд невозможно ничего обосновательного делать. И если бы появилась такая математика, произошла бы интересная штука - выяснилось бы, что современный софт в милионы раз менее эфективен, чем построенный на обоснованно оптимальных решениях. И получилось бы, что компы совсем не изменяясь, как бы внезапно стали мощнее в милион раз.

Имя не сохранено · 17 июля 2010

Комментарий

Вы знаете, товарищ, я рекомендую вам поискать в сети и почитать книжки по следующим ключевым словам: FPGA (Field Programmable Gate Arrays) - это такой набор ячеек, каждую из которых можно запрограммировать и превратить либо в несколько gates, либо flip-flop reconfigurable computing Verilog Удачного чтения, я съэкономил вам пару десятков лет в деле неизобретения велосипеда ;-)

Ответ на комментарий

Имя не сохранено · 17 июля 2010

Комментарий

Нет, не транспьютер и тем более не суперскаляр. Товарищ пытается изобрести велосипед, который называется FPGA (Field Programmable Gate Array). А заодно и Logic Synthesis, Verilog и т.д.

Ответ на комментарий

Имя не сохранено · 17 июля 2010

Комментарий

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

Ответ на комментарий

Имя не сохранено · 17 июля 2010

Комментарий

То, что я написал, это именно способ создания программируемых устройст с не-фон-нейманновской архитектурой. Вы можете купить за ~$200 плату с FPGA, далее выцыганить у компаний Synopsys или Xilinx софтвер для программирования таких устройств, потом написать например дизайн, в котором сто или тысяча или больше одновременно работающих модулей будут чего-то вычислять и обмениваться информацией (частный случай: клеточный автомат "Life"), засинтезировать, сделать place-and-route дизайна на FPGA, загрузить дизайн в память FPGA и посмотреть как это будет работать (такие платы имеют интерфейс с PC или к ним можно присоединить лампочки при желании). Первый FPGA появился в 1985 году. Программы для Logic Synthesis (грубо говоря трансляторов из языка Verilog на уровне регистровых трансферов в уровень проводов, регистров логических примитивов и-или-нет) появились тоже в конце 1980-х. В ~1996 статья про это дело была в Scientific American - с предсказаниями великой технической революции. Описывать такие вычисления довольно легко - если вы comfortable на уровне описания конечных автоматов, конвейеров и т.д - например вместо цикла как в обычной программе создавать конечный автомат. Трансливать обычные программы, скажем на C или Java в дизайн для FPGA довольно трудно. Этим пробовали заниматься за последние 20 лет штук 20 компаний, не говоря об университетских проектах, с не очень хорошими результатами. Но это и не нужно - как я уже сказал, любое вычисление того вида, которое вы описали, можно написать на Verilog-е.

Ответ на комментарий