http://www.fcenter.ru/online.shtml?hardnews/2005/12/20#material_id=15980 - интересно, как это организовано архитектурно и алгоритмически? У кого какие идеи? У меня лично никаких... :roll:
http://www.overclockers.ru/hardnews/20912.shtml - вид сбоку
http://www.tgdaily.com/2005/12/19/nec_multicore_processors/ - первоисточник
Root
Это все тоже читал, только вот все написанное ни фига не объясняет - приходится гадать, как именно они организовали оное спекулятивное действо...
Тем более на ПЛИС-е :shock:
Испытав прототип аппаратного компилятора, созданного на FPGA-матрице, компания NEC докладывает, что по эффективности результата, его трехминутная работа оказалась выше четырехмесячного труда отдельно взятого программиста.
:shock:
заходишь в магазин и говоришь : мне пожалуйста два 4х процессорных компилятора и один 2х процессорный :)
а программистов в отпуск :twisted:
Фэйк?
Ну, как алгоритмически - это их ноу-хау как раз :wink:. Сие сложно, но наработки в этой области есть же. Тот же Интеловский компилер под HT оптимизит же. И под двухъядерность обещают, насколько я помню...
The company said that it uses an "automatic parallelizing compiler" that uses profile information of software to "exploit parallelization patterns."
Паттерны вот какие-то. Предположу - есть образцы кусков однопроцового кода, и соотв. им куски параллельного. Т.е. видят кусок кода, коррелирующий с паттерном и лепят вместо него соотв. кусок параллельного. Это, конечно, весьма упрощенно, но думать дальше лень. ;)
А аппаратно - а чем на ПЛИСЕ нехорошо? Загоняешь туда код, на выходе - другой код. ПЛИСы нынче практически сколь угодно сложные. Памяти к ней приделать кусок тоже не проблема. Вот интересно - они на каком этапе оптимизят - уже машинный код или на ЯВУ.
собирается использовать основанный на спекулятивном методе вычислений аппаратный распараллеливающий компилятор
не нравится мне слово "спекулятивный", а то вдруг окажется, что используютяс паттерны в стиле
БЫЛО:
if (x==FALSE)
{
yyyy
}
{
zzzz
}
СТАЛО:
// поток 1
x = FALSE;
yyyy
// поток 2
x = TRUE;
zzzz
BTW, в дополнение к своим вопросам добавлю еще и одно соображение - если это _действительно_ правда, то можно ожидать в ближайшем будущем изменение привычной конфигурации схем системной логики... :roll:
PS: И еще одна мысль возникла чуть позже - представьте себе связку четырехядерного камня (по четыре шины гипертранспорта на ядро в конфиге "тетраэдра") + сабжевый девайс, если оный действительно работает, это ж какой прорыв в производительности может быть!..
не нравится мне слово "спекулятивный", а то вдруг окажется, что используются паттерны в стиле
Ну, не думаю, что в NEC пионэры сидят.
ближайшем будущем изменение привычной конфигурации схем системной логики...
А вот тут моя мысля - ведь все "многопроцессорные" ширпотребные чипсеты держат (насколько я в курсе) всего 2 проца. Остальное - эксклюзив, причем не Интеловый (могу ошибаться). Для чего и многоядерность лепят - чтоб чипсет видел ОДИН проц, а сам проц у себя внутри с ядрами разбирался...
PS: И еще одна мысль возникла чуть позже - представьте себе связку четырехядерного камня (по четыре шины гипертранспорта на ядро в конфиге "тетраэдра") + сабжевый девайс, если оный действительно работает, это ж какой прорыв в производительности может быть!..
Мысль неплоха, только ПЛИС придётся работать как минимум на частоте HyperTransport , а это недешёвая игрушка.
Как вариант юзать её опционально, как сопрцессор :twisted: ,
и выбираешь: либо твой отдел прикладного программирования будет код оптимизировать, либо ты покупаешь девайс, и вставляешь в соотв. слот-сокет :wink: а отдел идёт курить :oops:
http://www.tgdaily.com/2005/12/19/nec_multicore_processors/ - первоисточник
Это все тоже читал, только вот все написанное ни фига не объясняет - приходится гадать, как именно они организовали оное спекулятивное действо...
Испытав прототип аппаратного компилятора, созданного на FPGA-матрице, компания NEC докладывает, что по эффективности результата, его трехминутная работа оказалась выше четырехмесячного труда отдельно взятого программиста.
:shock:
заходишь в магазин и говоришь : мне пожалуйста два 4х процессорных компилятора и один 2х процессорный :)
а программистов в отпуск :twisted:
Паттерны вот какие-то. Предположу - есть образцы кусков однопроцового кода, и соотв. им куски параллельного. Т.е. видят кусок кода, коррелирующий с паттерном и лепят вместо него соотв. кусок параллельного. Это, конечно, весьма упрощенно, но думать дальше лень. ;)
А аппаратно - а чем на ПЛИСЕ нехорошо? Загоняешь туда код, на выходе - другой код. ПЛИСы нынче практически сколь угодно сложные. Памяти к ней приделать кусок тоже не проблема. Вот интересно - они на каком этапе оптимизят - уже машинный код или на ЯВУ.
не нравится мне слово "спекулятивный", а то вдруг окажется, что используютяс паттерны в стиле
БЫЛО:
СТАЛО:
PS: И еще одна мысль возникла чуть позже - представьте себе связку четырехядерного камня (по четыре шины гипертранспорта на ядро в конфиге "тетраэдра") + сабжевый девайс, если оный действительно работает, это ж какой прорыв в производительности может быть!..
Ну, не думаю, что в NEC пионэры сидят.
А вот тут моя мысля - ведь все "многопроцессорные" ширпотребные чипсеты держат (насколько я в курсе) всего 2 проца. Остальное - эксклюзив, причем не Интеловый (могу ошибаться). Для чего и многоядерность лепят - чтоб чипсет видел ОДИН проц, а сам проц у себя внутри с ядрами разбирался...
Мысль неплоха, только ПЛИС придётся работать как минимум на частоте HyperTransport , а это недешёвая игрушка.
Как вариант юзать её опционально, как сопрцессор :twisted: ,
и выбираешь: либо твой отдел прикладного программирования будет код оптимизировать, либо ты покупаешь девайс, и вставляешь в соотв. слот-сокет :wink: а отдел идёт курить :oops: