LINUX.ORG.RU

Вышла первая партия процессоров Эльбрус-8С

 ,


8

12

Первая партия инженерных образцов процессора Эльбрус-8С и южного моста КПИ-2 готова к тестированию.


Архитектура процессора: «Эльбрус»
Количество ядер: 8
Кэш-память 2го уровня: 8 * 512 КБ (4 МБ)
Кэш-память 3го уровня: 16 МБ
Рабочая частота: 1.3 ГГц
Производительность: 250 ГФлопс (FP32)
Тип контроллеров памяти: DDR3-1600 (ECC)
Кол-во контроллеров памяти: 4
Процессоров на плате: 4
Технологический процесс: 28 нм

>>> Фото



Проверено: Shaman007 ()
Последнее исправление: Shaman007 (всего исправлений: 1)
Ответ на: комментарий от ReadWrite

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

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от greenman

Э неее, дорогой товарищ, мухи от котлет. Встроено - да, но это отдельный блок. У Эльбруса еще 4 DSP в камне - и мы их не задействовали, равно как и второе ядро...

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от greenman

Opencl даст прирост только если gpu есть. А мы тут об обычных камнях. В этом конкретном Эльбрусе ещё DSP - сигнальный процессор, мы его тут не задействуем я полагаю.

ReadWrite
() автор топика
Ответ на: комментарий от anonymous

Итаник интел делали cовместно с HP, поскольку HP в начале 90-х тоже разрабатывали VLIW процессор у них был опыт, но причем здесь эльбрус? Эльбрус к итанику никакого отношения не имеет, и поэтому спорить «кто и когда раньше появился» бессмысленно. А вот трансметовский процессор имел, самое прямое причем.

uin ★★★
()
Последнее исправление: uin (всего исправлений: 1)
Ответ на: комментарий от ReadWrite

Вам нужно было независимое тестирование. Проводите.

Мне нужно было независимое тестирование, произведенное специалистами. У которых под рукой по крайней мере есть SPEC*.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Бабаян написал столько фантастики, что ссылки на него вызывают только смех.

А что ты имеешь против бабаяна? Ты читал его статьи/с чем то не согласен или так просто пок-покаешь?

uin ★★★
()
Ответ на: комментарий от ReadWrite

Opencl даст прирост только если gpu есть.

Не только gpu.

Эльбрусе ещё DSP - сигнальный процессор, мы его тут не задействуем я полагаю.

я полагаю

Как бы точно узнать?

greenman ★★★★★
()
Ответ на: комментарий от greenman

DSP туда прилеплен сбоку, только в этой модели, он вообще от другого производителя, тоже нашего. С ним работа на автомате невозможна, там вероятно вообще отдельные компиляторы для него, от производителя.

ReadWrite
() автор топика
Ответ на: комментарий от greenman

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

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Жду код в одном файле .c/.cpp.

Ты знаешь, что все серьезные бенчмарки многофайловые? А сколько стоит SPEC, знаешь?

Это нытьё

Давай: https://byte-unixbench.googlecode.com/files/UnixBench5.1.3.tgz

Или дай мне ssh - я сам их прогоню.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от greenman

По поводу opencl — приведу длинную цитату с http://habrahabr.ru/post/146823/

Но о том, что GPU быстро считает мы знаем, а в результате нашего теста получилось, что и CPU выполняет OpenCL код довольно быстро, если быть точным, то в 13X и 25Х раз быстрее, чем обычный код скомпилированный MSVC10 с дефолтными настройками. Давайте разбираться, как так получается и откуда взялись эти цифры.

Оба процессора содержат 4 реальных и 8 виртуальных ядер, а OpenCL как раз и сделан для того, чтобы все ядра использовать, но улучшение у нас гораздо больше, чем 4Х. А тут надо сказать спасибо Intel, которая в своей реализации OpenCL, добавила поддержку автоматической векторизации, т.е. без каких-либо изменений в коде, OpenCL использует SSE или AVX, в зависимости от того, что доступно. Учитывая, что SSE у нас 128битное, а AVX работает с 256битами, получается, что производительность должна подняться в 16X и 32X соответственно.

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft
Ещё тест. Пузырьковая сортировка.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SWAP(A,B) {A=A^B;B=A^B;A=A^B;}
void sort(int A[], int n)
{
    int i, j;
    for(i=n-1;i>0;i--)
     {
        for(j=0;j<i;j++)
         {
            if(A[j]>A[j+1]) SWAP(A[j],A[j+1]);
         }
     }
}
int main()
{
	int const size=50000;
	int mass[size];
	srand(time(0));
  	for (int i=0; i<size; i++)
	{
		mass=rand()%10000000;
	}
	sort(mass,size);
	return 0;
}
ReadWrite
() автор топика
Ответ на: комментарий от uin

пок-пок

Я не понимаю этого языка, попробуй другой.

tailgunner ★★★★★
()
Ответ на: комментарий от greenman

Я пытался играться, писал под видюху AMD. Это весьма специфическая вещь. Там ресурсы ограничены весьма, везде разные ограничения, заточено на параллельную работу. Это уже не тот универсальный процессор о котором мы говорим. Мы тут однопоток сравниваем. Это не то.

ReadWrite
() автор топика
Ответ на: комментарий от ReadWrite

Мы тут однопоток сравниваем.

Мы сравниваем хитрозаточенный код на одном цпу (напиши,плиз, комменты к асемблерному листингу, если его понимаешь) и тупой код на другом. И по поводу гпу — перечитай приведённую цитату, там об ускорении без гпу.

greenman ★★★★★
()
Ответ на: комментарий от greenman

Мы сравниваем хитрозаточенный код на одном цпу (напиши,плиз, комменты к асемблерному листингу, если его понимаешь) и тупой код на другом.

Насколько я понимаю, это два одинаковых по хитрозаточенности кода.

tailgunner ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

У кого есть предложения по тестированию - кидайте код (один файл чтоб gcc лишь запустить).

А что, больше одного файла никак низя? Интересно было бы увидеть результаты nbench http://www.tux.org/~mayer/linux/nbench-byte-2.2.3.tar.gz

no-such-file ★★★★★
()
Ответ на: комментарий от tailgunner
Этот бенч даже какие-то файлы копирует что ли. Эльбрус-2С ещё DDR2 даже. В общем оценивать весь комп он будет.

Ну вот для i7 3770, для 1 ядра как я понял.

8 CPUs in system; running 1 parallel copy of tests

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   45705539.3   3916.5
Double-Precision Whetstone                       55.0       3726.5    677.5
Execl Throughput                                 43.0       3336.2    775.9
File Copy 1024 bufsize 2000 maxblocks          3960.0    1452712.6   3668.5
File Copy 256 bufsize 500 maxblocks            1655.0     393501.4   2377.7
File Copy 4096 bufsize 8000 maxblocks          5800.0    3610108.4   6224.3
Pipe Throughput                               12440.0    2672235.8   2148.1
Pipe-based Context Switching                   4000.0     217506.7    543.8
Process Creation                                126.0      17053.2   1353.4
Shell Scripts (1 concurrent)                     42.4      13093.8   3088.2
Shell Scripts (8 concurrent)                      6.0       5140.2   8567.0
System Call Overhead                          15000.0    5406902.4   3604.6
                                                                   ========
System Benchmarks Index Score                                        2250.2
ReadWrite
() автор топика
Ответ на: комментарий от uin

Вот именно об этом я и писал. Весь спор был затеян, чтобы доказать, что он появился раньше Итаниума, и соответственно не мог быть его копией. Выше было вот это.

soslow

Оно VLIW и копипаста из Itanium-ов.

anonymous
()
Ответ на: комментарий от no-such-file
Опять, для сравнения i7 3770 (4.1 Ггц)

Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)

TEST                : Iterations/sec.  : Old Index   : New Index
                    :                  : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT        :          1965.4  :      50.40  :      16.55
STRING SORT         :          1322.8  :     591.08  :      91.49
BITFIELD            :      7.6681e+08  :     131.53  :      27.47
FP EMULATION        :          800.75  :     384.24  :      88.66
FOURIER             :           58035  :      66.00  :      37.07
ASSIGNMENT          :          70.725  :     269.12  :      69.80
IDEA                :           15140  :     231.56  :      68.75
HUFFMAN             :          6826.3  :     189.29  :      60.45
NEURAL NET          :          137.08  :     220.21  :      92.63
LU DECOMPOSITION    :          3719.3  :     192.68  :     139.13
==========================ORIGINAL BYTEMARK RESULTS==========================
INTEGER INDEX       : 209.582
FLOATING-POINT INDEX: 140.947
Baseline (MSDOS*)   : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0
==============================LINUX DATA BELOW===============================
CPU                 : 8 CPU GenuineIntel Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 4100MHz
L2 Cache            : 8192 KB
OS                  : Linux 3.16.0-24-generic
C compiler          : gcc version 4.9.1 (Ubuntu 4.9.1-16ubuntu6) 
libc                : 
MEMORY INDEX        : 55.983
INTEGER INDEX       : 49.696
FLOATING-POINT INDEX: 78.175
Baseline (LINUX)    : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
ReadWrite
() автор топика
Ответ на: комментарий от ReadWrite

Не давай код с алгоритмами, которые хорошо распараллеливаются, ибо на них эльбрус действительно силён. Его архитектура ЕМНИП поближе к GPU, чем архитектура Intel. Попрошу выполнить такой код:

#include<iostream>
#include <vector>

int main()
{
	using namespace std;
	int n=2147395500;
	vector<bool> prime (n+1, true);
	prime[0] = prime[1] = false;
	for (int i=2; i*i<=n; ++i)
		if (prime[i])
			for (int j=i*i; j<=n; j+=i)
			{
				prime[j] = false;
			}
}
И показать время работы.

peregrine ★★★★★
()
Ответ на: комментарий от ReadWrite

В общем оценивать весь комп он будет.

UnixBench, конечно, не чисто вычислительный тест, но это и интересно.

Впрочем, наш друг поставил заведомо невыполнимое условие «всё в одном файле».

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Я понимаю, патриотизм, родина слонов

чувствуешь разницу между тем, что ты написал, и между:
Я понимаю, «патриотизм», родина слонов

argin ★★★★★
()
Ответ на: комментарий от peregrine

Не давай код с алгоритмами, которые хорошо распараллеливаются, ибо на них эльбрус действительно силён.

Это опечатка или что? Что значит не давать код который хорошо распараллеливается? А какой ещё давать? Тогда смысла теста никакого и результат будет пропорционален частоте.

Его архитектура ЕМНИП поближе к GPU

Ничего общего, у него крупные универсальные ядра, а не куча мелких.

ReadWrite
() автор топика
Ответ на: комментарий от tailgunner

Бабаян написал столько фантастики, что ссылки на него вызывают только смех

первое, что пришло в голову, читая столь юмористический аргумент - Циолковский тоже написал не мало того, что мы оцениваем как фантастику.

argin ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

nbench будет более адекватным тестом. Там в итоге один файл получается. В мэйкфайл добавить только флаги оптимизации под Эльбрус. У меня всё собралось без проблем.

ReadWrite
() автор топика
Ответ на: комментарий от tailgunner

Ну я согласен, что полезно всё. Но тест оказался долгим. Мож этот комп обслуживеат ядерные силы страны. Сегфолтнится и пару стран не станет.

ReadWrite
() автор топика
Ответ на: комментарий от argin

Циолковский тоже написал не мало того, что мы оцениваем как фантастику.

Ты хочешь сказать, что Бабаян тоже мыслитель, опередивший свое время?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

слава ТНБ

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

Если исключить из этой фразы концепцию Бога, «слава Богу» превращается в пустое словоблудие, которое не способно передать ни грамма эмоций. В этом смысле эта фраза уступает по своему эмоциональному воздействию даже по сравнению с несравнимо более слабой фразой, чем «чудненько»

Одним словом, это как разница между индусокодом, и нормальным кодом.

Не ты придумал эту фразу, но ты отвечаешь за её использование.

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

В конце-концов господа/товарищи атеисты, придумайте своё собственное выражение, эквивалентное этой фразе, и используйте сколько хотите. А если слабо, то обходитесь идеологически правильным для вас «чудненько»

argin ★★★★★
()
Последнее исправление: argin (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Ты хочешь сказать, что Бабаян тоже мыслитель, опередивший свое время?

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

argin ★★★★★
()
Ответ на: комментарий от argin

исковеркан смысл фразы - в оригинале, «Слава Богу» означает попытка передачи искреннего восторга

Смысл фразы изменен, да. Вместо искреннего восторга и прочего багорастворения в воздусях - легкая издевка.

Не ты придумал эту фразу, но ты отвечаешь за её использование.

Естественно. Я использовал эту фразу обдуманно и впредь тоже собираюсь ее использовать в схожих ситуациях.

верующие люди имеют авторские права на эту фразу

Верующие имеют авторские права на «слава [Бб]огу». А «слава ТНБ» - Copyleft Объединенные Атеисты Вселенной.

И вообще, какая муха тебя укусила, что ты чуть ли не крестовый поход объявил?

tailgunner ★★★★★
()
Ответ на: комментарий от ReadWrite

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

peregrine ★★★★★
()
Ответ на: комментарий от tailgunner

в троле всё должно быть совершенно :-)

э нет, я говорил не о религии, я говорил о языке, о стилистике - «слава Богу» это выражение благодарности. Ты используешь выражение типа «пошёл в задницу», там где лингвистически требуется выражение благодарности.

Это мягко говоря не адекватно с точки зрения языка

argin ★★★★★
()
Последнее исправление: argin (всего исправлений: 1)
Ответ на: комментарий от peregrine

В обязательном порядке, как только - так сразу (дома нет доступа).

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от no-such-file

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

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от argin

О, пациент для игнора :) Добавил. Что фольклор с людьми делает...

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

На интеле с практически два раза меньшей частотой (турбобуста на i3 нет)

$ time ./test01.out 
3.1415926526

real	0m8.282s
user	0m8.280s
sys	0m0.003s
$ lscpu 
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 69
Model name:            Intel(R) Core(TM) i3-4010U CPU @ 1.70GHz
Stepping:              1
CPU MHz:               1392.406
CPU max MHz:           1700.0000
CPU min MHz:           800.0000
BogoMIPS:              3392.65
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3


gcc version 4.9.2 

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)
Ответ на: комментарий от peregrine

Давай усреднённый код. Где часть алгоритмов распараллеливаются, а часть - нет.

Как вам объяснить. Я не выбирал код, я не знаю архитектуры Эльбрус, я взял первый попавшийся. Это был усреднённый код. Он был одинаков для Эльбрус и Интел. Обе программы выполнялись в однопоточном режиме. Никакого распараллеливания на ядрах не было. Эльбрус умеет выполнять больше независимых инструкций за такт, Интел меньше. Вот и вся разница. Вы что такое VLIW понимаете вообще? Прочтите сначала, а потом пишите. Сквозит от вас абсолютным непониманием темы.

ReadWrite
() автор топика
Ответ на: комментарий от ReadWrite

Просьба постить код в тегах [ code ] [ / code ] (без пробелов) и тестировать код на своем компе, а то вот ошибка сразу: mass -> mass.

Результаты:

-bash-4.2$ g++ -O3 -ffast -C++ ./test003.cpp -o test003.e2k -fno-inline -mcpu=elbrus-2c+
-bash-4.2$ time ./test003.e2k 

real    0m19.411s
user    0m19.350s
sys     0m0.010s
-bash-4.2$

g++ -O3 ./test003.cpp -o test003.x64 -fno-inline
s@mav:~/temp$ time ./test003.x64

real    0m3.644s
user    0m3.646s
sys     0m0.000s

К сожалению, этот тест был выполнен в 6 раз медленее эльбрусом, в общем в полном соответствии по частоте. Уверен, если переписать алгоритм, из него можно выжать многократное ускорение на эльбрусе. Если написать в МЦСТ они вышлют документ (подробную книгу) с описанием того как делать код на Си так, чтобы максимально оптимизировался на эльбрусе. Есть много готовых функций, типа IPP у интела.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SWAP(A,B) {A=A^B;B=A^B;A=A^B;}
void sort(int A[], int n)
{
    int i, j;
    for(i=n-1;i>0;i--)
     {
        for(j=0;j<i;j++)
         {
            if(A[j]>A[j+1]) SWAP(A[j],A[j+1]);
         }
     }
}
int main()
{
	int const size=50000;
	int mass[size];
	srand(time(0));
  	for (int i=0; i<size; i++)
	{
		mass[i]=rand()%10000000;
	}
	sort(mass,size);
	return 0;
}
I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от peregrine

Результаты (для x86_64 было 48 секунд, до уменьшения в 10 раз):

g++ -O3 ./test004.cpp -o test004.x64 -fno-inline
$ time ./test004.x64

real    0m4.157s
user    0m4.151s
sys     0m0.008s

-bash-4.2$ g++ -O3 -ffast -C++ ./test004.cpp -o test004.e2k -fno-inline -mcpu=elbrus-2c+
-bash-4.2$ time ./test004.e2k

real    1m51.609s
user    1m50.190s
sys     0m0.130s

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

#include<iostream>
#include <vector>

int main()
{
    using namespace std;
    int n=214739550;
    vector<bool> prime (n+1, true);
    prime[0] = prime[1] = false;
    for (int i=2; i*i<=n; ++i)
        if (prime[i])
            for (int j=i*i; j<=n; j+=i)
            {
                prime[j] = false;
            }
}

И я все равно уверен, что если бы я мог выложить «Оптимизирующий компилятор языков C/C++, Руководство пользователя, Эффективное программирование для архитектуры «Эльбрус»», то можно было раскочегарить эту штуку. Так как статус этого документа мне не известен, то я не стану его выкладывать пока всё не выясню.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от anonymous

только 1 канал или больше

линейное чтение\запись

в школу иди

anonymous
()
Ответ на: комментарий от nagibator

решит перевооружить чиновников исключительно отечественной техникой

в этом случае чем дороже, тем «лучше», очевидно же

anonymous
()
Ответ на: комментарий от ReadWrite

DSP туда прилеплен сбоку, только в этой модели, он вообще от другого производителя, тоже нашего. С ним работа на автомате невозможна, там вероятно вообще отдельные компиляторы для него, от производителя.

В руководстве написано что компилятор вроде как один, но для DSP ядер надо чтобы модуль собирался отдельным файлом, т.е. нельзя миксовать код в одном файле. А вызов функции для исполнения для DSP... по моему скромному опыту работы с OpenCL (лишь палочкой тыкал) - всё очень похоже на подход как для OpenCL, просто по самому принципу вызова.

Отсюда следует что все эти тесты - просто на обычном ядре исполнены, DSP задействован не был.

I-Love-Microsoft ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.