↑↑↓↓←→←→ⒷⒶ Войти !bnw Сегодня Клубы
Если отказаться от требования абсолютной точности машинной арифметики то можно уменьшить размер ALU/FPU на кристалле в 100 раз по сравнению с точной альтернативой: http://www.gwern.net/docs/2010-bates.pdf http://www.bdti.com/InsideDSP/2013/10/23/SingularComputing Забавно что в том время как некоторые программисты и PLT-учёные в поте лица трудятся над изобретением и изучением новых строготипизированных языков программирования (которые, конечно, в доказательствах корректности своей работы постулируют абсолютную точность выполнения компьютером инструкций) у выскопроизводительных систем совсем другие насущные проблемы. Рост количества ядер до миллиона привёл к снижению MTBF до нескольких десятков часов и энергопотреблению в несколько мегаватт. У современных суперкомпьютеров проблема MTBF худо-бедно решается чекпоинтами и рестартами, но всем понятно что эксафлопсные системы потребуют нового подхода к вычислениям, так как закон Мура остановился и просто продолжать делать ядра меньше за счёт литографии уже нельзя. Вполне возможно что этим подходом будет упрощение процессоров и неточная арифметика. Эти нововведения рано или поздно перейдут и в обычные компьютеры, и тогда у программистов уже не получится наивно игнорировать статистику и физику на которой работают их машины. В середине 20 века у людей получилось заменить сложные аналоговые компьютеры цифровыми, отвлечься от теории цепей на несколько десятков лет аутируя в виртуальном мире абсолютно стабильных битов и байтов, но похоже возврат к физике неизбежен.
Рекомендовали: @ninesigns @o01eg @dzhon @krkm @marissa @quantum @apepe
#Y1UU12 / @engineer / 3390 дней назад

При чём здесь типизация вообще, ты там ебанулся со своим жс?
#Y1UU12/C4J / @l29ah / 3390 дней назад
@l29ah При том что твои утверждения о работе программы рушатся как карточный домик если твой компьютер выполняет инструкции неточно. Тебе придётся доказывать теорему о том что твой алгоритм будет сходиться в таких условиях, простого аутирования с типами будет мало.
#Y1UU12/9M8 / @engineer --> #Y1UU12/C4J / 3390 дней назад
@engineer Какой нахуй алгоритм, при чём здесь типизация?
#Y1UU12/WFU / @l29ah --> #Y1UU12/9M8 / 3390 дней назад
@l29ah Типизация это просто пример способа формализации свойств программ. Да, флоат не перестанет быть флоатом от того что FPU неточный, но более тонкие утверждения о его значениях перестанут соблюдаться.
#Y1UU12/ZUM / @engineer --> #Y1UU12/WFU / 3390 дней назад
@engineer FPU и так неточный, блядь.
#Y1UU12/AA1 / @l29ah --> #Y1UU12/ZUM / 3390 дней назад
@l29ah FPU детерминистский и его поведение описано стандартом IEEE754. А вообще это и к АЛУ относится.
#Y1UU12/ZDZ / @engineer --> #Y1UU12/AA1 / 3390 дней назад
@l29ah При том что почти все наши программы и особенно строгтипизированные программы могут работать только если процессор выполняет каждую их инструкцию точно. Когда человечество перерастёт детерминистские процессоры то всё это пойдёт в мусорку (потому что нежизнеспособно на полуаналоговом железе) и для доказательства корректности программ будут применяться физические и статистические методы. Применение теории типов к программированию может оказаться тупиковой ветвью CS.
#Y1UU12/SC9 / @engineer --> #Y1UU12/C4J / 3390 дней назад
@engineer Да, старый код наверное будут продолжать выполнять на специальных легаси процессорах, но новые сложные задачи будут решать как в этих статьях.
#Y1UU12/NH1 / @engineer --> #Y1UU12/SC9 / 3390 дней назад
@engineer Пока я не наблюдаю ни одной области, где подобные компьютеры массово используется, поэтому пойду почитаю блог няшного хаскелиста.
#Y1UU12/WM7 / @l29ah --> #Y1UU12/SC9 / 3390 дней назад
@l29ah В компьютерном зрении например используются. Ну вообще да, это пока просто ускорители для задач. Мне кажется в будущем когнитивные задачи будут на них хорошо перекладываться, а легаси-процессоры останутся для всякой айти-сантехники типа TCP/IP, http и прочего. >няшного В чулочках? :3
#Y1UU12/RSX / @engineer --> #Y1UU12/WM7 / 3390 дней назад

чо за абсолютная точность? ieee 754 шоле?

#Y1UU12/ZZZ / @anonymous / 3390 дней назад
@anonymous IEEE754 детерминистский, чтобы соответствовать ему FPU должен стабильно проходить тест-вектор из многих пар ввод-вывод. То что описывается в статьях это арифметика со стохастической ошибкой, например 1%. Показывается что такие АЛУ занимают в 100 раз меньше места. Вообще это выглядит разумно потому что прокачивать заряд через 10 000 000 транзисторов (типичный FPU) чтобы сложить два числа это безумие.
#Y1UU12/2JF / @engineer --> #Y1UU12/ZZZ / 3390 дней назад
@engineer Вот какие тесты должен проходить FPU https://www.research.ibm.com/haifa/projects/verification/fpgen/ieeets.html
#Y1UU12/8GB / @engineer --> #Y1UU12/2JF / 3390 дней назад
ты так говоришь, как будто от этой неточной арифметики может выиграть вся индустрия, а по факту, домен ее примения ограничен задачами, решения которых основаны на аппроксимации.
#Y1UU12/OS1 / @marissa / 3390 дней назад
@marissa Ну, когда индустрия выйдет наконец за пределы айти-сантехники типа социалочек и таблиц-экселей и перейдёт в такие вещи как самоуправляемые машины и сервисные роботы (и анализ логов поведения людей в социалочках, и анализ данных с миллионов камер наблюдения) то придётся делать такие вещи. Правда может ими будет заниматься относительно небольшое число профессионалов а остальные так и останутся айти-сантехниками, не знаю как сложится.
#Y1UU12/J1K / @engineer --> #Y1UU12/OS1 / 3390 дней назад
@engineer Вру, современный SIMD FPU это скорее 1000000 транзисторов. http://www.intel.com/content/dam/www/public/us/en/documents/case-studies/floating-point-case-study.pdf Cложно найти точные числа потому что такие подробности дизайна не любят публично распространять.
#Y1UU12/XBV / @engineer --> #Y1UU12/2JF / 3390 дней назад
@engineer Индустрия никогда не была ограничена айти-сантехниками: автоматическое планирование, распознавание изображений, обработка естественных языков уже давно в тренде как и численные методы, методы оптимизации, машинное обучение. Появление этих модулей вряд ли приведет к перевороту в этих областях.
#Y1UU12/DU1 / @marissa --> #Y1UU12/J1K / 3390 дней назад
@marissa Это малая часть индустрии, на одного ML практика десяток а то и больше сантехников-верстальщиков-клепальщиков. >Появление этих модулей вряд ли приведет к перевороту в этих областях. Появление GPGPU привело к перевороту в машинном обучении - deep learning на таких размерах задач стало обгонять все остальные методы и выигрывать соревнования. Вполне возможно что увеличение производительности параллельных вычислителей ещё в 100 раз позволит добиться качественно новых результатов в deep learning например. Закон мура всё, так что остаются такие решения как в оп-посте которые чем-то жертвуют. Мне не очень интересна индустрия, интересны качественно новые возможности. Вот я бы например применил такие вычислители для своих экспериментов с симуляцией искусственной жизни, я бы мог моделировать целые популяции сложных существ быстрее реального времени.
#Y1UU12/FTN / @engineer --> #Y1UU12/DU1 / 3390 дней назад
@engineer Ищи инвестора.
#Y1UU12/LPU / @l29ah --> #Y1UU12/FTN / 3390 дней назад
@l29ah Да ну, мои поделки это просто хобби, какие там инвестиции. Я не претендую ни на новизну ни на уникальность.
#Y1UU12/SAK / @engineer --> #Y1UU12/LPU / 3390 дней назад
@engineer Да и искусственная жизнь это один из самых очевидных и самых трудоёмких (ещё и ненадёжных) путей к общему ИИ. Доверять что-то важное крабам из шариков которые всю жизнь жили в мире из шариков это лол.
#Y1UU12/EN1 / @engineer --> #Y1UU12/SAK / 3390 дней назад
@engineer > Это малая часть индустрии, на одного ML практика десяток а то и больше сантехников-верстальщиков-клепальщиков но не надо к этому плебсу PL-теоретиков приписывать, они все таки передовым рокетсайнсом занимаются, хоть даже бы и бесплодно.
#Y1UU12/VPC / @marissa --> #Y1UU12/FTN / 3390 дней назад
@marissa Если посмотреть назад то можно увидеть полно таких тупиковых ветвей математики, логики и CS. Думайте сами что случится с PL.
#Y1UU12/2CP / @engineer --> #Y1UU12/VPC / 3390 дней назад
хуле вы тут рекомендуете //они на лайк лезут, бля! plt-учёные тут совершенно за уши притянуты конечно. но если вспоминать их заслуги то они например придумали лениво вычисляющиеся до нужной точности бесконечные ряды. и прочие классные вещи. зато ситардам надо сказать спасибо только за то что они до сих пор со всей силы имплицируют то самое идиотское представление целых чисел где перенос единицы может выебать все сумматоры и приходится делать такие-то схемы только чтобы не ждать 64 их штуки. в то время как человеческое было придумано ещё до создания первого х86-совместимого процессора. вообще, подозреваю что интел уже дошел до того чтобы конвертить в подобное представление на входе/выходе и вычислять по-человечески. на самом деле пошли уже дальше: часть проца будет плис-ом. но пока это только обещания. всё это намного универсальнее чем недетерминированные вычисления, я полагаю, хотя по ссылке не ходил. IEEE754 вообще говно комитетское, нечего обсуждать даже. >просто продолжать делать ядра меньше за счёт литографии уже нельзя. пруф или можно, за счёт новой литографии десятилетней давности, которая работает на эванесцентных волнах преодолевающих т.н. принцип неопределённости гейзенберга (бессмысленный баззворд навроде ``правила'' парето), но зачем, ведь интел (который не занимается изобретением тех. процесса) пока хавает и старую. //на самом деле дело уже не только в одной литографии, а и в надёжности таких нано-транзисторов например. ////я не хотел сегодня нихуя дампать, хуле вы меня заставляете
#Y1UU12/PLM / @anonymous / 3390 дней назад
@marissa тфв когда определять тип автомобиля распознаванием изображения не относят к компьютерной сантехнике, а к научной науке и интересным проектам
#Y1UU12/L5I / @mugiseyebrows --> #Y1UU12/DU1 / 3390 дней назад
Из статьи Reliable ISR algorithms for a very low power approximate computer >The circuits that Singular uses to compute results for arithmetic operations are small, deterministic, and easy to model on a conventional computer using small lookup tables. These software models exactly match the results that would be produced by hardware implementation of our architecture, which makes it easy to reliably, if slowly, test application software via hardware emulation on conventional CPUs. The hardware is designed to perform high dynamic range arithmetic with roughly 1% error per operation. Singular has developed and studied varied algorithms for producing high quality results despite the approximate hardware. These studies use a perfect simulation of the accelerator’s arithmetic. Tasks that have been explored include summing thousands of numbers without accumulating error, k-nearest neighbor classification (KNN), foreground/background separation using Gaussian mixture models, iterative reconstruction tomography, deblurring using the Richardson-Lucy deconvolution algorithm, FFTs, radar processing, neural net learning, and other tasks. Most of these algorithms need slight adaptations to prevent cumulative effects of the 1% error, but with those adaptations all perform as desired. >Tests have shown the algorithm produces results equivalent to state-of-the-art traditional approaches while achieving a 6400x improvement in speed/power ratio. Вобщем конкретно в этом подходе операции детерминистские, но их точность в пределах 1%, можно считать что к ним добавлен псевдослучайный шум. От этого мои аргументы про учёт физики в вычислениях конкретно к этому чипу не применяются, хотя аргументы про то что математические равенства и утверждения основанные на них не будут выполняться остаются. Если почитать обзорчик Approximate computing: An emerging paradigm for energy-efficient design то там обсуждаются и такие подходы и настоящие стохастические подходы где вычисления потребляют ещё меньше энергии за что платится шумом. Про второй тип все мои аргументы из оп-поста остаются в силе. Получается так, от информатики к физике: обычные точные вычислители -> неточные детерминистские вычислители -> неточные стохастические вычислители -> аналоговые вычислители
#Y1UU12/5JP / @engineer / 3389 дней назад
@engineer пук → перд Как продвигается кошкодевочка и заробатывание бабла лопатами вебмартышкингом?
#Y1UU12/9MD / @l29ah --> #Y1UU12/5JP / 3389 дней назад
@l29ah Кошкодевочка это просто 20-страничный гугл-док в котором мы пытаемся собрать техзадание, не ждите по ней успеха меньше чем через пару лет. Деньги я сейчас не зарабатываю потому что не очень нужно, их итак хватает. Если и буду зарабатывать пойду на апворк как все.
#Y1UU12/FNF / @engineer --> #Y1UU12/9MD / 3389 дней назад
@anonymous >придумали лениво вычисляющиеся до нужной точности бесконечные ряды. и прочие классные вещи. Что-то не верится что для любого ряда сработает и что там как-то доказывается про вклад в ошибку тех или иных слагаемых. >на самом деле пошли уже дальше: часть проца будет плис-ом. но пока это только обещания. >всё это намного универсальнее чем недетерминированные вычисления, я полагаю, хотя по ссылке не ходил. Неа, плис это 10х преимущество для битового аутизма и строковых задач как в bing http://www.enterprisetech.com/2014/09/03/microsoft-using-fpgas-speed-bing-search/ Для float они не дают никакого преимущества, даже более тормозные потому что float hard cores нету на чипе, есть только fixed point DSP cores (так что float строится на fixed и программируемой логике). В вычислениях с целыми числами они дают прирост сравнимый с GPGPU. В статьях предлагается совсем другое - вместо миллиона транзисторов для детерминистского IEEE754 FPU делать всего на 5000 транзисторов FPU с 1% ошибкой и предлагаются задачи для которых это выгодно. Источник неточности конкретно у него не в физической работе транзисторов а в применённой аппроксимации. Другие виды неточных вычислений по-настоящему стохастичны. >в то время как человеческое было придумано ещё до создания первого х86-совместимого процессора. Можешь подробнее об этом? Не слышал о таком. >IEEE754 вообще говно комитетское, нечего обсуждать даже. На нём мир держится (реально, дома, самолёты) и все фичи неспроста добавлены. >на самом деле дело уже не только в одной литографии, а и в надёжности таких нано-транзисторов например. Да, а ещё в том что сейчас доминирует RC-задержка проводников. Dennard scaling is no more, цена транзистора перестала падать (по одной версии на 28нм http://www.eetimes.com/author.asp?doc_id=1321536 по версии интела на 14нм цена всё ещё падает http://www.anandtech.com/show/8367/intels-14nm-technology-in-detail). Похоже на то что 10нм будет через 4 года, после него 7нм совсем нескоро (непонятно будет ли return on investment во всё что меньше 10нм, так что просто из-за экономики не построят) а потом неопределённо долгая стагнация, это заставит людей придумывать новые архитектуры эффективно использующие транзисторы.
#Y1UU12/4TJ / @engineer --> #Y1UU12/PLM / 3389 дней назад
@mugiseyebrows >айти-сантехника http://i.imgur.com/dl1Xl6A.png пепе айти специалист
#Y1UU12/4F0 / @engineer --> #Y1UU12/L5I / 3389 дней назад
#Y1UU12/S47 / @mugiseyebrows --> #Y1UU12/4F0 / 3389 дней назад
#Y1UU12/F0I / @engineer --> #Y1UU12/S47 / 3389 дней назад
@engineer Почитай-ка этот самый стандарт внимательно. Там куча всяких implementation-defined вещей, и на . И вот статью можешь почитать https://hal.archives-ouvertes.fr/file/index/docid/281429/filename/floating-point-article.pdf ссылку на которую я тебе наверняка когда-то уже давал. Вот например цитата оттуда > IEEE-754 standardises a few basic operations; however, many programs use functions such as sine, cosine, ... , which are not specified by this standard and are generally not strictly specified in the system documentation. In Section 4, we shall explore some difficulties with respect to mathematical libraries. In addition to issues related to certain floating-point implementations, or certain mathematical libraries, there are issues more particularly related to the C programming language, its compilers and libraries. Section 4.3 explores such system dependencies. Section 4.4 explores issues with input and output of floating-point values Там еще рассматриваются разные случаи, когда результат вычислений с этими флоатами зависит от того, с каким уровнем оптимизации это собирали, заинлайнилась там какая-то фигня или нет: >gcc does not inline functions when optimisation is turned off. The square function returns a double, but the calling convention is to return floating point values into a x87 register — thus in long double format. Thus, when square is called, it returns approximately 10^716, which fits in long double but not double format. But when f is called, the parameter is passed on the stack — thus as a double, +∞. The program therefore prints +∞
#Y1UU12/7PT / @j123123 --> #Y1UU12/ZDZ / 3389 дней назад
@j123123 Там куча всяких implementation-defined вещей, и на разных процессорах эти флоаты ведут себя по-разному.
#Y1UU12/IEC / @j123123 --> #Y1UU12/7PT / 3389 дней назад
@engineer Хотел бы я посмотреть на криптографию, реализованную на этих твоих недетерминистских процессорах.
#Y1UU12/907 / @j123123 --> #Y1UU12/SC9 / 3389 дней назад
@j123123 криптосантехника
#Y1UU12/JK3 / @engineer --> #Y1UU12/907 / 3389 дней назад
@j123123 Нет, стандарт очень полный. У меня были одинаковые до последнего бита результаты при симуляции модели с кучей double-чисел на x86 и на ARM. Если ты делаешь такие заявления то изволь предложить конкретный список несовместимостей.
#Y1UU12/NY5 / @engineer --> #Y1UU12/IEC / 3389 дней назад
@j123123 Это неточности не такого класса как те что обсуждаются в ОП-посте, они пренебрежимо малы по сравнению с этим 1%.
#Y1UU12/DUL / @engineer --> #Y1UU12/7PT / 3389 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.