Comments 122
Матрица при перепрошивке деградирует ли, как flash-память при перезаписи?
Flash нативно был в CPLD и как костыль в некоторых сериях FPGA, которые пришли на замену CPLD.
Хотя бы есть цифры, что рынки сопоставимы и могут влиять друг на друга?
![image](https://habrastorage.org/getpro/geektimes/comment_images/d4b/4ba/fe0/d4b4bafe039cff74d60988f7cf3f9b2d.png)
![image](https://habrastorage.org/getpro/geektimes/comment_images/b29/a31/f1f/b29a31f1f78281f45aa98e8e4752ac55.jpg)
( см. https://en.wikipedia.org/wiki/Fiscal_year и страну USA )
Но в случае NVidia — это февраль-апрель 2017 года.
http://nvidianews.nvidia.com/news/nvidia-announces-financial-results-for-first-quarter-fiscal-2018
http://nvidianews.nvidia.com/news/nvidia-announces-financial-results-for-fourth-quarter-and-fiscal-2017
Не все так просто как кажется. Да появилась ниша где CPU слабее ну и ладно. главное что остальные потребности так и остались востребоваными. Хотя вот что правда то правда — изза обратной совместимости приходится тащить на себе багаж межденных инструкций путающих кэш и потому считалка хоть точная и универсальная но медленная. Ну и роста производительности увы нет. Я люблю амд и их райзен мне кажется намного интереснее коре но тут кагбэ два разных подхода. ктото ударился в мощ одного потока а ктото — оптимизирован для многопотоковой производительности. универсального решения не будет. или так или этак. только если процы научатся свою структуру на лету перестраивать и это поняли в интел… вот только на транзисторах да на 6 нм вся логика выйдет намного более дешевле и менее энергоемкой чем на FPGA. хотя скорее всего они и не дойдут до полной эмуляции всего ядра — только отдельных программируемых функций в этой смой pga
Оценивать верность высказывания по титулам и регалиям автора этого высказывания не очень хорошая идея.
гпу работают с примерными вычислениями где точность сильно уменьшена в угоду скорости… Покажите мне нормальный работающий перегонщик MP3 на видеокарте?
Не надо путать игровые видеокарты и профессиональные. Все вами сказанное справедливо для игровых карт, где нет двойной точности (даже чаще используется 16 бит вместо 32), для игр она и не нужна, у профессиональных решений все это присутствует (64 битная точность вычислений).
Это ключевая особенность видеокарт 2х2 у них может быть и 3 и 5. главное что очень быстро и в статистическом распределении если на 10000 выборок посчитать среднее арифметическое то будет гауссово распределение шаром вокруг 4-ки :) да иногда и 4 получится :) Пытался писать под гпу… немного знаю что к чему… с целыми числами там все более менее хорошо. но по скорости конечно же это 24 и 32 битные флоаты и умножения/деления. и ещё они пипец как не людят срывов конвеера — любые ветвления условия и т.д. проще отрабатывать на CPU и в ГПУ выгружать уже поток, который обрабатывается без ветвлений — можно создать по два потока на каждое ответвление и даже если использовать их попеременно — скорость будет выше чем загрузить их впаралель но с ветвленным кодом. звучит жутко и странно но это так.
Если я правильно понял комментаторов выше, то на GPU вычисления порождают случайные девиации, которые недетерминированы.
Все вычисления видеокарт детерминированы. На этом принципе даже техника рендеригна есть, depth prepass называется.
FPU на современных видеокартах соответсвует стандарту IEEE-754-2008, так же как и х86.
У Nv есть статья с обсуждением этого вопроса
http://docs.nvidia.com/cuda/floating-point/index.html
2х2 на видеокарте всегда будет одним и тем же числом. Все операции (кроме специальной быстрой математики, которую еще нужно включить) IEEE-compliant. Недетерменированность может возникать разве что от использования атомарных операций с плавающей запятой, их порядок неопределен. Это может повлиять на результат, но обычно разница в последних нескольких значащих разрядах. А если использовать хороший устойчивый алгоритм, то разница между запусками и вовсе будет минимальная.
Я никогда не смотрел ни на код, ни на работу кодеков, по этому поводу ничего не могу сказать. Возможно, вы нашли какой-то баг. Возможно, алгоритму нужна высокая точноть, и single precision и 32 бита — это просто недостаточно. Тогда, как заметил InChaos, нужно переходить на карты Tesla и double precision
Не надо путать игровые видеокарты и профессиональные. Все вами сказанное справедливо для игровых карт, где нет двойной точности (даже чаще используется 16 бит вместо 32), для игр она и не нужна
Скажите это EA
Это вообще несравнимые вещи… гпу работают с примерными вычислениями где точность сильно уменьшена в угоду скоростиУ GPU есть векторные инструкции, работающие с целочисленными данными разной длины, работающие абсолютно точно. Без этого нельзя было бы считать хеши, например.
попробуйте ними посчитать чтото и вы увидите что скорость — не их конек
Я не вижу причин, почему целочисленные вычисления будут медленнее.
У меня есть опыт с векторными вычислениями на SSE. Cравнивая векторные целочисленные операции и с плавающей точкой, замечу, что скорость одинаковая (а почему бы и нет — сложить вектор из 4 double, или из 4 int64 — второе даже проще в реализации).
Практически же, майнинг etherium — это целочисленное сложение, XOR, ADD, выборки из памяти по рандомным адресам.
AMD R9 390X даёт 32 мегахеша, 4-ядерный Intel Xeon 88 килохеша. Вот такой «не их конёк».
да и целочисленные вычисления неплохо даются и cpu
В одном потоке — да. Но ядер мало.
Ну собственно с памятью у меня и была проблемаНа CPU проблема? По эфиру на любом CPU — менее 1 мегахеша, на GPU — десятки мегахешей.
В любом случае конечно же тысяча ядер гпу каждый пусть в 10 раз слабее одного ядра cpu в итоге всеравно быстрееЗачем строить предположения, если есть таблицы мощностей.
Справочник по железу bitcoin: https://en.bitcoin.it/wiki/Non-specialized_hardware_comparison
В списке всё довольно старое, т.к. bitcoin сейчас майнят только на спец-девайсах, но всё же:
NVidia GTX570: 160 Мегахешей/сек
Intel Core i7 2600K (специально подобрал ровесника по дате выпуска): 18,6 Мегахешей/сек
У современных GPU отрыв больше, т.к. архитектура развивается быстрее, перенимая решения из мира CPU
а как по скорости AVX?
гпу работают с примерными вычислениями где точность сильно уменьшена в угоду скорости.GPU сейчас работают в основном с float который 32 битный. Точность в них никак не уменьшена, это вполне себе IEEE 754 single-precision floating point. Раньше не было сильной потребности в другой точности, поэтому GPU и развивался в этом направлении. Будет потребность в большей точности — будет развитие в этом направлении.
там даже есть спец генераторы белого цифрового шума чтоб одинаковые не точные вычисления в итоге давали случайные размытые границы на картинкеТут вообще непонятно что вы имели ввиду. Где там то, какие границы? Если вы возьмете тут спец генератор, и просто исполните его на CPU — то картинка внезапно не станет четкой. Нет в GPU неточностей, там все детерменировано, и на одном и том же GPU a+b всегда дадут один и тот же результат, а не какой-то примерный.
все остальное что требует гарантированной предсказуемости и точности — работать на видеокартах НЕ БУДЕТ!Вообще глупость. Видеокарта — такой же детерменированный процессор, просто с другими возможностями и с другими ограничениями. Считает видеокарта точно так же точно, как и обычный процессор считает float 32.
Покажите мне нормальный работающий перегонщик MP3 на видеокарте? качество перегона всех что я встречал перегонщиков на куде — полный отстойА это уже извините проблема алгоритма, а не GPU. Традиционно у GPU частота значительно ниже чем у CPU (1ГГц против почти 4ГГц). Поэтому поток на CPU может позволить себе потратить значительно больше времени на более качественное сжатие.
и самое интересное что каждый прогон по сути уникальный… даже размер файла меняется на VBR!Перенесите GPU алгоритм на CPU, запустите в несколько потоков — и получите ровно такой же плавающий результат. Ровно такого же говнистого качества.
а у CPU Lame перегонщике размер файла не меняется от прогона к прогону.Но это только благодаря алгоритму, который использует Lame. Вы можете 1 в 1 переложить этот алгоритм на GPU, и получите точно такой же качественный и не плавающий результат, но GPU будет просто в разы медленнее на этом алгоритме. Алгоритмы сжатия вообще очень плохо распараллеливаются.
Короче проблема GPU сейчас — только алгоритмы, которые тяжело распарллелить. Увы, таких алгоритмов сегодня очень много, что затрудняет использовать на полную катушку GPU, но ситуация постепенно меняется.
С повторяемостью результатов есть интересная проблема в многопоточном программировании. Довольно часто встречается ситуация когда быстрый параллельный алгоритм не детерминирован (точнее зависит от производительности отдельных потоков, которая по меняется от фаз луны и чихания пользователя). Например часто встречается «поиск достаточно хорошего решения» когда мы ищем что-то допускающее несколько ответов из которых нам подходит любой: если мы ищем «в параллель» и «до первого подходящего результата», то какой из результатов найдется первым заранее предсказать нельзя. Еще интереснее проблема в потоковой обработке данных где один «быстрый» блок осуществляет преобразование данных по набору правил а другой, значительно более «медленный» блок анализирует его работу и динамически подстраивает набор правил под входные данные. Период обратной связи здесь не детерминирован, выходной поток в результате тоже. Причем для CPU подобные вещи даже актуальнее, на GPU обычно алгоритмы «потупее» устроены.
Так что все очень часто зависит от алгоритма и того что именно пытались оптимизировали его создатели — воспроизводимость и качество или скорость. А GPU или CPU здесь глубоко вторично, GPU хорошего качества ничем не уступает CPU по точности и воспроизводимости результатов.
Это вообще несравнимые вещи… гпу работают с примерными вычислениями где точность сильно уменьшена в угоду скорости. там даже есть спец генераторы белого цифрового шума чтоб одинаковые не точные вычисления в итоге давали случайные размытые границы на картинке… да это дает нереальный профит для криптовалют и нейросетей но и только. все остальное что требует гарантированной предсказуемости и точности — работать на видеокартах НЕ БУДЕТ!
Прям таки совсем не будет? GPU кластеры используемые для научных исследований могут не согласится. :)
Это правда только в отношении трансцендентных функций и 16/32-бит (и то последнее даже не во всех случаях) и очень сильно зависит от драйверов и конфигурации компилятора.
А МП3 энкодеры вообще трудно распараллеливать. Там разве что только мультипоточное кодирование разных файлов имеет смысл.
Я вот только не могу понять одного. Автор так хорошо разбирается в теме и уверен в крахе CPU перед GPU. Он сам деньги вложил в NVDA? Можно было 900% за 2 года поднять.
От сравнения акций NVIDIA и Intel автор перешёл к доминированию GPU над x86 в узком спектре задач. При этом совершенно не учёл, что x86 годами наращивал оптимизацию последовательных вычислений. Кэш, branch prediction — всего этого на GPU либо нет, либо реализовано со значительно меньшей эффективностью.
О чём статья, кстати? О росте акций NVIDIA? О том, что x86 в очередной раз похоронен? О том, что нейронные сети эффективнее тренируются на GPU?
Статья об "Intel капут!". На сколько понимаю, у них там модно для раскрутки бложика включать идиота и массу адекватных выводов/фактов объединять под идиотским "желтым" заявлением.
Типа, все равно завтра уже никто не вспомнит. Но сегодня блог пропиарится. Вот, даже до нас дошел… А зачем такое на GT — не понятно =)
Только вот чтобы получить сотни мегагерц на плис нужно реализовывать конвейеризируемый алгоритм. Майнинг в конвейер хорошо ложится?
Процессор cpu или gpu имеет уже оптимизированные блоки конвейеров или сложных операций, уложенных компактно рядом и выполняющихся за меньшее время, например за тот же такт высокой частоты в несколько гигагерц за счёт известной структуры вычислений, а не универсальной как у плис.
Т.е. быстрее всего оптимизированный под операцию asic. Но везде нужно оценивать стоимость, а не только возможности.
Вопрос в окупаемости партии.
Вполне реально сделать, микросхему под определённый алгоритм обучения, но эти алгоритмы слишком быстро развиваются, посмотрите на те же конкурсы по распознаванию лиц. Плюс обучение как я понимаю задача не риалтаймовая и служит для вычисления неких коэффициентов, которые потом быстро используются.
Выпускают специализированные чипы для новых вайфаев, для новых видеокодеков и т.д… Какие нейросети или функции вы предлагаете я не очень понял.
Лица на фотках — это детектирование лица, а не распознавание…
Призма не обучается на телефоне, а только применяет коэффициенты.
Распознавание текстов я искренне надеюсь работает не на нейросетях, а честно графы по ключевым формам буковок строятся…
В большинстве ваших примеров достаточно GPU, мне кажется.
Попытка запихнуть достаточно сложные вычисления в 1 такт гарантирует что никаких сотен мегагерц там уже не будет.
А не эффективней ли майники на FPGA?Эффективнее, если нужно только считать хеш. Тогда 100500 медленных (по сравнению с CPU) ядер FPGA в сумме будут быстрее.
Но новые криптовалюты используют такие хеши, для расчёта которых нужно 1-2 ГБ быстрой памяти.
Каждому вычислительному ядру, реализованному в FPGA, просто невозможно дать столько памяти в монопольное владение. А если память расшаривать, возникнет узкое место с конкурентным доступом.
Поэтому разница между FPGA-схемой и GPU — в пользу GPU, с учётом более тонкого техпроцесса GPU и оптимизированных шин к памяти.
Например, хеш в майнинге etherium — 200 итераций
XN+1 = XN xor RAM [ XN mod RAMSIZE ]
где RAM — таблица псевдослучайных данных (заполнена хешами), размером более гигабайта, размер каждого Xi — 256 бит.
А увеличение количества контроллеров не масштабируется.
Ну, можно сделать 16 контроллеров и у каждого своя DDR небольшого объёма.
Но схема коммутации, к какому контроллеру идти за какими данными, будет огромной (у каждого контроллера — своя шина адреса и данных, т.е. нужно 16 шин к каждому ядру).
А масштаб x16 — это мало для ASIC-ов, тут хотя бы 4096 сделать.
Нвидиа это такой же Интел — доить покупателей в премиум сегменте это их стратегия. Обновлять технологии и архитектуру только в крайнем случае.
общего у шины PCI и у «шины» PCI Express только слово PCIпотому что PCI Express технологически не является развитием шины PCI.
Что значит «технологически»?
Наверно стоило написать технологическим развитием шины PCI, но имелось ввиду то что PCI Express это:
1.Не усовершенствованная шина PCI
2 А ПО СУТИ ДРУГАЯ ШИНА.
А написал я все это потому, что покоробило:
1. Intel оставляла скорость шины PCI на низком уровне и ограничивала количество путей ввода-вывода, поддерживаемое их процессором, тем самым гарантируя, что GPU всегда будут зависеть от процессоров
Еще раз повторю, у автора статьи везде используется слово «PCIe».
И да:
1. Intel оставляла скорость шины PCI на низком уровне и ограничивала количество путей ввода-вывода, поддерживаемое их процессором, тем самым гарантируя, что GPU всегда будут зависеть от процессоров
Неплохой экскурс в историю, я не помню, честно, может такое и было, кстати может поэтому agp и появился…
Но я морально готов к следующим минусам! Правду не задушишь лол ахахах!
А с цитатой из статьи можно спокойно поспорить. PCI была и на 66Mhz, и была в варианте 64Bit(и это было в эпоху Pentium-III). Ну а на исходе была PCI-X с 64 битами и 133Мгц (Уже ближе к концу эпохи Pentium-4)
Так что если выбирать между Intel и Qualcomm, то выбор очевидно не в пользу вторых.
На ARM делают миллионы хромбуков, и миллионы же SBC (по крайней мере — малин миллионы, тираж остальных SBC сильно меньше).
Хз, хз, у меня малинка 3 в цикле крутит простой скрипт (подключиться к БД, выполнить селект, отдать результат на I2C), нагревается ооочень ощутимо этим скриптом, палец на терпит прикосновения к поверхности чипа.
В браузере работает медленно (js регулярно вешает малинку намертво), видео тоже не всякое воспроизводит. Сопоставима с одноядерным удушенным Intel Atom на нетбуке 2008 года выпуска, который у меня когда-то был и от которого я избавился в 2014 по причине его устаревания.
Посадил сотрудников офисных на Orange Pi Plus 2E. Да, в Ведьмака они не поиграют, но для рабочих задач этого с головой хватит. Ну и опять же, тонкие клиенты.
«Накрылся» в смысле не растёт?
Так и рынок PC уже несколько лет падает.
>> Реинкарнация Windows RT — очередные вялые попытки Майкрософт вдохнуть жизнь в Windows Mobile
О чём речь? Эта полноценная 10-ка не связанная с WM.
Наконец-то появится вменяемое железо, а не хромбуки с убогими характеристиками вида «2-гига, 2-ядра».
>> известно какое отношение к обновлениям, и покупать десктоп на снапдрагоне, который через полтора года будет снят с поддержки, никто не будет.
Разумеется будет — я куплю =)
У QCOMM нормальное отношение к обновлениям, просто они это делают не бесплатно.
Производители не хотят платить.
Почитайте тред
https://twitter.com/jhamby/status/886823340484083712
«Накрылся» в смысле не растёт?
Так и рынок PC уже несколько лет падает.
Накрылся в смысле «падает». И во многом он ещё только падает, а не проваливается в бездну, как раз из-за Intel-планшетов. АРМы-то проваливаются, и из всех планшетов худо-бедно растут только виндопланшеты.
А рынок традиционных ПК скорее стагнирует, у IDC по свежим данным как раз именно так.
О чём речь? Эта полноценная 10-ка не связанная с WM.
В каком месте она «полноценная» без x86-64? На момент анонса обещали только x86-32, может что-то изменилось?
У QCOMM нормальное отношение к обновлениям, просто они это делают не бесплатно.
Производители не хотят платить.
Почитайте тред
Удобная позиция. Мы, конечно, за обновления, но отгрузите нам 100500 нефти, чтобы мы вам это обновление сделали. На русский язык это переводится как «у квалкома отвратное отношение к обновлениям». Это верно как для Nexus, так и для Windows, включая, но не ограничиваясь, Mobile.
Не говоря уж о том, что даже если SoC поддерживаются, поставщики телефонов получают код от Квалкома только через несколько месяцев после релиза нового Android в AOSP. А до этого они могут только провью клепать как Сони, не более того.
И к стати не увидел в коментах ни слова об VR, который тоже сейчас развивается на ряду со всем этим и ему тоже нужна производительность видео т.к. 2 рендера под каждый глаз в 2к и выше немало ресурсов кушает, не говорю уже о vsync 60fps и выше.
Даже сегодня самый мощный CPU от Intel справляется только с 24 ядрами
Строго говоря это не совсем корректно. У Xeon Phi ядер от 64 (а потоков от 256).
Производит их Intel и даже штатную версию Windows на них — запускали (пусть нужна спецматеринка) — смотрим например https://www.servethehome.com/intel-xeon-phi-x200-knights-landing-boots-windows/
Цены правда негуманные. Ну так на топовые Xeon'ы они тоже не особо гуманные.
Я хотел создать новый набор драйверов Windows, позволявших проводить массивную конкуренцию на рынке железа, чтобы работа новых медиа, включая аудио, ввод данных, видео, сетевые технологии, и т.п. на создаваемом нами рынке игр для ПК зависела от собственных драйверов Windows. Intel не справилась бы с конкуренцией на свободном рынке, созданной нами для компаний, производящих потребительское железо, и поэтому не смогла бы создать CPU, способный эффективно виртуализировать всю функциональность, которую могли потребовать пользователи. Так и родился DirectX.
Всё что нужно знать о некрософте в ответ на вопрос: «почему её называют копрорацией зла».
Вот стоит обсудить, что где как, а затем можно загадывать.
И не забывайте современный мир таков, что завтра одна технология может переехать/вжиться в другую, так что не удивительно будет, вопрос только в целесообразности.
Эпоха Nvidia