Страницы: Пред. 1 2
RSS
Мой процессор
 
А можно попросить линки на информацию по данной теме с нуля (для тех, кто в танке, и кроме монокристалок ничего не програмил).
К середине темы только въехал о чем идет речь.
 
А в чем собственно новизна проекта ?
Чуть больше конвейеров... чуть больше инструкций  исполняемых за такт ...
Экстнесив !

Мне кажется будущее   за чипами с изменяемой архитектурой !

Лет  десять назад читал о проекте финской команды пилившей современную видео карту на "программируемый логике" (не знаю что у них   в результате получилось но чисто технических  проблем вроде  у них не было )...

Еще читал о гибридном чипе российской разработки переключающегося из обычного "процессорного режима"  в режим аппаратной эмуляции нейросетей  ...
(Кажется NeuroMatrix http://studopedia.ru/3_174439_neyroprotsessor-NeuroMatrix-NM.html
    http://www.pcweek.ru/pc/article/detail.php?ID=56946)

То есть   технология изменяемой архитектуры уже реально применяется . И я думаю именно за ней будущее !
Per aspera ad astra !
 
http://vistanews.ru/science/63101  ,  http://ria.ru/science/20160628/1453742744.html
А вот это в принципе не новость, но..представьте стандартное ПО такого рода, доступное под любые ПК и ОС для решения не графических задач - не правда ли, многим хозяевам рынка это не понравится..
И бесы веруют... И - трепещут!
 
Цитата
Кубик пишет:
стандартное ПО такого рода, доступное под любые ПК и ОС для решения не графических задач
CUDA.
 
Кубик пишет:
Цитата
http://vistanews.ru/science/63101 , http://ria.ru/science/20160628/1453742744.html
А вот это в принципе не новость, но..представьте стандартное ПО такого рода, доступное под любые ПК и ОС для решения не графических задач - не правда ли, многим хозяевам рынка это не понравится..
http://www.nvidia.ru/object/cuda-parallel-computing-ru.html

Увы, далеко не все расчеты можно ускорить подобным образом .... но всевозможное моделирование вполне потянет да и просто разрядность шины с частотами памяти в GPU разумеется опережает обычные CPU   ...
GPU
Интересно, а неросети с применением  GPU строить можно ? (Главное узкое место в моделях нейросетей в невозможности эмулировать реальный параллелизм для каждого нейрона, а с "виртуальными вычислительными боками" современных GPU  все может быть гораздо веселее   )
Изменено: Алексей Кириенко - 30.06.2016 13:25:18
Per aspera ad astra !
 
Цитата
Алексей Кириенко пишет:
Интересно, а неросети с применениемGPU строить можно ?
Можно.
 
Цитата
Алексей Кириенко пишет:

Интересно, а неросети с применением GPU строить можно ? (Главное узкое место в моделях нейросетей в невозможности эмулировать реальный параллелизм для каждого нейрона, а с "виртуальными вычислительными боками" современных GPU все может быть гораздо веселее )
Можно, и строят, причем весьма эффективные. Фокус в том, чтобы выбирать минимальную разрядность чисел: восьми или даже четырех разрядов обычно достаточно для весовой функции "нейрона". На такой разрядности GPU дают максимальную производительность.
 
Цитата
Not пишет:
Цитата
Алексей Кириенко пишет:

Интересно, а неросети с применением GPU строить можно ? (Главное узкое место в моделях нейросетей в невозможности эмулировать реальный параллелизм для каждого нейрона, а с "виртуальными вычислительными боками" современных GPU все может быть гораздо веселее )
Можно, и строят, причем весьма эффективные. Фокус в том, чтобы выбирать минимальную разрядность чисел: восьми или даже четырех разрядов обычно достаточно для весовой функции "нейрона". На такой разрядности GPU дают максимальную производительность.
Никак не оспаривая применимость и эффективность GPU для нейросетей...
Всё-таки 4 разряда - это должна быть какая-то очень специфичная сеть. Не представляю себе практической задачи, где этого было бы достаточно.
 
Цитата
Татарин пишет:
Всё-таки 4 разряда - это должна быть какая-то очень специфичная сеть. Не представляю себе практической задачи, где этого было бы достаточно.
Достаточно для сетей применяемых в Deep Learning. Например здесь.
 
высокоуровневые языки для работы с GPU позволяют эффективно работать с полубайтовыми коэффициентами? Скажем даже шире - с менее, чем четверьтьрегистрами?
push the human race forward
 
Цитата
dmdimon пишет:
высокоуровневые языки для работы с GPU позволяют эффективно работать с полубайтовыми коэффициентами?
Зачем если однобайтовые то-же канают?
 
так вот же выше - 4 разряда типа для эффективности?


off/ я просто кой-чего оптимизировал под GPU и все оказалось очень нетривиально. В разы буквально зависимо от оптимизации под абсолютно конкретное железо - количество вычислительных ядер, ширина шины, размеры очередей, организация памяти, задержки, накладные расходы - в общем, полная опа. И вот неаккуратная работа с разрядностью памяти и шины - была просто атас как заметна.
Изменено: dmdimon - 13.07.2016 18:00:00
push the human race forward
 
Разрядность для неросети вообще-то  не очень актуальна ... Её относительно легко можно подкрутить увеличением числа входов упростив  вплоть до "однобитовых нейрон" ...  А там все же  аж 4 бита и каждое "виртуальное ядро"(как я понял вычислительный блоки в современном GPU могут иметь  довольно непрямое отношение к ядрам физическим  ) может "чуть" по больше чем отдельно  взятый "искусственный нейрон" . (То есть может эмулировать целый небольшой кластер нейросети ).
Изменено: Алексей Кириенко - 14.07.2016 19:48:49
Per aspera ad astra !
 
не вопрос. Я говорю о том, что (из моего опыта) при нехорошей разрядности данных производительность падает в разы,  а выше написано, что 4 бита - для производительности. Меня это сильно смущает.
push the human race forward
 
Цитата
dmdimon пишет:
не вопрос. Я говорю о том, что (из моего опыта) при нехорошей разрядности данных производительность падает в разы, а выше написано, что 4 бита - для производительности. Меня это сильно смущает.
Все верно, использование битовых операций "в лоб" ухудшает производительность, поэтому для числа бит меньше чем 32 используют упаковку двух и более чисел в одно. Очевидно, что программирование усложняется, но производительность при этом растет линейно от количества упакованных чисел.
 
/offtop это само собой. Но в данном конкретном случае упаковать предлагается мультипликативные коэффициенты. Плюс писать все-таки желательно не на асме - иначе и так призрачная аппаратная независимость прикажет долго жить... Имхо результирующий гимор себя не оправдает. Но сугубое имхо.
push the human race forward
 
фокус в специальных оптимизациях, например в запутывании:

Цитата
35.2.4 The Swizzle Operator
An easily overlooked or underutilized feature of GPU programming is the swizzle operator. Because all registers on the GPU are four-vectors but not all instructions take four-vectors as arguments, some mechanism for creating other-sized vectors out of these four-vector registers is necessary. The swizzle operator provides this functionality. It is syntactically similar to the C concept of a structure member access but has the additional interesting property that data members can be rearranged, duplicated, or omitted in arbitrary combinations, as shown in the following example:

float4
f = float4(1.0f, 2.0f, 3.0f, 4.0f);
float4
g = float4(5.0f, 6.0f, 7.0f, 8.0f);
float4 h = float4(0.1f, 0.2f, 0.3f, 0.4f);// note that h.w is syntactically equivalent to h.wwww
float4
out = f.xyyz * g.wyxz + h.w; // одна инструкция!
// multiply-and-accumulate again.
// result: out is (8.4f, 12.4f, 10.4f, 21.4f)
Страницы: Пред. 1 2
Читают тему (гостей: 2)
Журнал Новости Форум Фото Статьи