⁴ Based on internal testing ... location of the max min rate is at approximately 10% 100% into the capacity of the HDD.
От юридических солоночных хакеров отбиваться с помощью уже имеющегося "performance may vary depending on host environment, drive capacity, logical block address (LBA), and other factors" или добавить "sequential" в название величины.
Они указывают, что скорость - максимальная. Они рассказывают про уменьшение скорости на внутреннем радиусе. Упоминают на своих сайтах short-stroking*. Картинки из Victoria, HD Tune или AIDA64 в обзорах в интернете можно заметить. Эти же картинки из AIDA64 показывают, что там у SSD после исчерпания SLC-кэша, можно по аналогии задуматься про HDD. Также вопросов не будет, если знать про ухудшение звука у пластинок на внутреннем радиусе. Или про деление дисков любых видов на CLV и CAV (constant linear velocity и constant angular velocity). Или про дефрагментаторы на винде**.
* То есть уменьшение ёмкости HDD, чтобы уменьшить ход блока головок. Это в первую очередь про случайное IO, но линейное тоже растёт (внутренняя часть пластин не используется). В бытовом варианте можно место за первым разделом не выкидывать, а класть туда менее горячие данные.
** Прикольная оптимизация, продвинутую дефрагментацию объявляли ненужной скорее по принципу "нет на Linux - значит не нужно (а если появится, то станет нужно)".
Я, повторюсь, совсем не в теме, но что-то здесь не так. Если бы этот "single GPU pipeline parallelism" хорошо работал, то не надо было бы гнаться за объёмом VRAM для инференса. В multi-GPU pipeline parallelism не съедается пропускная способность PCIe загрузкой частей модели, их не надо постоянно загружать. А если надо, то, видимо, это становится явным узким местом и смысл теряется.
Если это настолько велосипед, то я бы о нём услышал. Услышал бы "возьмите платформу AM5, два Gen5 SSD на 14 ГБ/с линейного чтения и поделите модель вот этой утилитой".
upd: если каждая часть видеокартой используется достаточно долго, то нам и скорость SSD не очень нужна. Лишь бы успевать загрузить данные из SSD в RAM, прежде чем видеокарте потребуется следующая часть. Потом отдавать из RAM, полностью насыщая шину видеокарты.
GPU offloading
Гугл мне отвечает про распределение нагрузки между CPU и GPU, а не про то, как избежать нужды в профессиональных объёмах VRAM.
Если (бы?) модель можно было разделить на части так, чтобы они использовались однократно и последовательно (первые 10 ГБ, вторые 10 ГБ...), то идея бы сработала. Только на видеокарту SSD ставить не надо, используем PCIe 5.0 x16 (63 ГБ/c) видеокарты и несколько SSD, чтобы получить ~30 ГБ/с (упираемся в PCIe-линии не-HEDT процессоров).
В общем, как если бы мы эти части грузили из RAM, но вместо RAM - дешёвая флеш-память (всё равно основное бутылочное горлышко - это PCIe-шина видеокарты).
С моделью на 300 ГБ и массивом SSD на 30 ГБ/с на перекладывание частей во VRAM тратилось бы 10 секунд. Гуглу известен некий llm pipeline parallelism, но я не в теме.
Если идею применить не к модели-на-видеокарте, а к модели-на-CPU, то массив SSD можно ускорить до ~100 ГБ/с (отдаём ещё 16 линий под SSD).
Это может плохо кончиться. Создаст барьер для маленьких производителей (требовать 10 лет софтовой поддержки - отличный способ для Apple и Samsung разобраться с конкурентами), поможет экономике стран-конкурентов, которые таким регулированием заниматься не станут.
Если окажется, что покупатели всё равно хотят новый айфон и дольше пользоваться телефонами не начинают, придётся ударять по ним "утильсбором на телефоны", чтобы передумали.
Даже при хорошо работающей гарантии, думаю, покупателям с сильно выгоревшим за 9 лет OLED'ом будут отказывать. Покупатели прикинут остаточную стоимость устройства, величину судебных расходов и сделают выводы.
О процессе соединения там не говорят, зато есть обычное "solder joint".
Но и в этом случае, это не распаивание и не припаивание, а спаивание
Разваривать микросхемы можно, а распаивать нельзя? Wire bonding в русском стал разваркой, а для пайки microbump'ов устоявшаяся терминология вряд ли есть.
Вот, не интеграция, а "solder reflow", пайка оплавлением. Сухие документы говорят, что микросхема может быть распаянной таким способом почти так же надёжно, как вилка лежит, тарелка стоит, а птичка сидит. Или вот: "said Doug Scott, senior vice president of wafer level packaging at Amkor Technology ... copper pillar bumps ... assembly reflow".
задело меня не это, а то что microbumps дело не ограничивается
Ну, внутреннее устройство HBM (соединение стеков) в рамках статьи не важно, про это не говорилось.
Хм, bonded joint - хороший термин. Соединённое соединение. По смыслу - что-то вроде неразъёмного соединения, но переводов в микроэлектронике не видно.
От остальных реализаций логично ждать примерно того же, тихими ошибками занимается другой слой
Хм, проверка чётности при чтении нашлась в реализации RAID3 у FreeBSD: graid3 -w (verify reading feature). И в комментах выше - в различных заоблачных СХД (RAIDIX, IBM), к ним надо добавить SGI, он рассматривал проверку чётности как альтернативу для T10-DIF/PI: SATASSURE=[PARITY|DATA_INTEGRITY_FIELD].
Какой-то бред. Это как позвонить в Labcenter Electronics и объяснить им, сколько раз и где именно они нарушили ЕСКД.
Противопоставляет алгебру и арифметику советское пособие для педагогов. Оно утверждает, что в алгебре "знак умножения связывает компоненты действия сильнее, чем знак деления" (зависимо от того, опускается ли знак): a ÷ bc = a ÷ b*c = a÷(b*c). При этом само дальше эту сомнительную практику не использует и делит горизонтальной чертой.
В одних калькуляторах Texas Instruments решили повысить приоритет неявного умножения. На правила алгебры TI не ссылалась. Затем в следующих калькуляторах это решение откатили. В рунете повышение приоритета приписали некой алгебраичности калькулятора. Обосновывают тем пособием и ещё одним, противоречащим ему (пофиг, пляшем).
Общего правила в калькуляторах нет, один производитель в двух соседних моделях может поменять решение (TI-82 и TI-83), заучивать это не сильно полезнее, чем способы извлечения корня на арифмометре.
И подкину на эту тему:
На письме можно не дотянуть до конца черту корня: √ax, пусть гадают.
3*10^6 - это форма записи одного числа (то же, что 3e6) или выражение из нескольких чисел? От этого зависит результат выражения 1/3*10^6. Wolfram Alpha считает одним числом (но не с пробелами: 3 * 10^6), при обсуждении предыдущей статьи на это наткнулся.
Можно, кстати, посмотреть, как деградировала преамбула в погоне за наукообразностью: первая версия статьи в 2005.
Где-то ещё была хорошая шутка про определения, когда статья начинается с угнетающей скобки на несколько строк, перечисляющей этимологию, даты, синонимы, источники на всё вышеуказанное... А что далеко ходить, вот: https://ru.wikipedia.org/wiki/Ломоносов,_Михаил_Васильевич
Михаи́л Васи́льевич Ломоно́сов (8 [19] ноября 1711[2][3], Мишанинская, Архангелогородская губерния — 4 [15] апреля 1765[2][3], Санкт-Петербург[2][4][…]<---вот это особенно хорошо[8][9]) — ...
Нужен баланс между точностью и доступностью, который там часто нарушается в пользу точности. Начинать статью не совсем точно, но доступно - это правильно, но, видимо, встречает там сопротивление.
Но чем сложнее люди, тем дальше они будут углубляться. Критика направлена на преамбулу и первые разделы (мягкое), а в качестве примера показывает, насколько далеко заходит статья после них (тёплое). Поэтому пример плохой. Тем более, что преамбулу и первые разделы есть за что критиковать.
Мягкое и тёплое. Вывод ChatGPT подходит для начала статьи. Доказательства могут подходить для углублённой части статьи. Могут не подходить. В любом случае, это уже другой вопрос - он не касается вводной части статьи.
Плохой пример, это середина статьи про теорему Нётер, после разделов "1. Общие сведения, 2. Неформальная формулировка теоремы, 3. Краткая иллюстрация и обзор концепции 4. Исторический контекст".
Но проблема есть. Чтобы статья не выглядела как шпаргалка для студента, нужны усилия. Больше редакторов - больше человеко-часов на статью (английская википедия качественнее).
Мелкая ошибка: Wolfram Alpha распарсил 10*10^101 как одно число в научной нотации и целиком поместил в знаменатель, но слова про логику верны: у него 1 - (1/10)*10^101 = -99999....
С проблемой десятичных дробей, если они всё же нужны, борются "рационализацией" float'ов доступными средствами (sympy: [1][2][3], MATLAB: предлагают страдать).
Так же.
Sustained transfer rate⁴ (MB/s,
maxmin)⁴ Based on internal testing ... location of the
maxmin rate is at approximately10%100% into the capacity of the HDD.От юридических солоночных хакеров отбиваться с помощью уже имеющегося "performance may vary depending on host environment, drive capacity, logical block address (LBA), and other factors" или добавить "sequential" в название величины.
Он про то, чтобы добавить в характеристики ещё эту величину:
Что диски нельзя сушить в микроволновке...
___
Они указывают, что скорость - максимальная. Они рассказывают про уменьшение скорости на внутреннем радиусе. Упоминают на своих сайтах short-stroking*. Картинки из Victoria, HD Tune или AIDA64 в обзорах в интернете можно заметить. Эти же картинки из AIDA64 показывают, что там у SSD после исчерпания SLC-кэша, можно по аналогии задуматься про HDD. Также вопросов не будет, если знать про ухудшение звука у пластинок на внутреннем радиусе. Или про деление дисков любых видов на CLV и CAV (constant linear velocity и constant angular velocity). Или про дефрагментаторы на винде**.
* То есть уменьшение ёмкости HDD, чтобы уменьшить ход блока головок. Это в первую очередь про случайное IO, но линейное тоже растёт (внутренняя часть пластин не используется). В бытовом варианте можно место за первым разделом не выкидывать, а класть туда менее горячие данные.
** Прикольная оптимизация, продвинутую дефрагментацию объявляли ненужной скорее по принципу "нет на Linux - значит не нужно (а если появится, то станет нужно)".
Я, повторюсь, совсем не в теме, но что-то здесь не так. Если бы этот "single GPU pipeline parallelism" хорошо работал, то не надо было бы гнаться за объёмом VRAM для инференса. В multi-GPU pipeline parallelism не съедается пропускная способность PCIe загрузкой частей модели, их не надо постоянно загружать. А если надо, то, видимо, это становится явным узким местом и смысл теряется.
Если это настолько велосипед, то я бы о нём услышал. Услышал бы "возьмите платформу AM5, два Gen5 SSD на 14 ГБ/с линейного чтения и поделите модель вот этой утилитой".
upd: если каждая часть видеокартой используется достаточно долго, то нам и скорость SSD не очень нужна. Лишь бы успевать загрузить данные из SSD в RAM, прежде чем видеокарте потребуется следующая часть. Потом отдавать из RAM, полностью насыщая шину видеокарты.
Гугл мне отвечает про распределение нагрузки между CPU и GPU, а не про то, как избежать нужды в профессиональных объёмах VRAM.
Если (бы?) модель можно было разделить на части так, чтобы они использовались однократно и последовательно (первые 10 ГБ, вторые 10 ГБ...), то идея бы сработала. Только на видеокарту SSD ставить не надо, используем PCIe 5.0 x16 (63 ГБ/c) видеокарты и несколько SSD, чтобы получить ~30 ГБ/с (упираемся в PCIe-линии не-HEDT процессоров).
В общем, как если бы мы эти части грузили из RAM, но вместо RAM - дешёвая флеш-память (всё равно основное бутылочное горлышко - это PCIe-шина видеокарты).
С моделью на 300 ГБ и массивом SSD на 30 ГБ/с на перекладывание частей во VRAM тратилось бы 10 секунд. Гуглу известен некий llm pipeline parallelism, но я не в теме.
Если идею применить не к модели-на-видеокарте, а к модели-на-CPU, то массив SSD можно ускорить до ~100 ГБ/с (отдаём ещё 16 линий под SSD).
Ранняя смерть (69 лет) указывала не только на недостатки отдельных людей наверху, но и на общую нестабильность системы. А в мире современности есть стабильная страна, перехватившая знамя. Ей уже 77-й год, на хабре о ней были "инсайды".
https://habr.com/ru/companies/ruvds/articles/646925/
https://habr.com/ru/companies/ruvds/articles/648399/
Хотя нас там, наверное, считают познавшими запретный плод "крысиного мира современности" и врата не откроют.
Это может плохо кончиться. Создаст барьер для маленьких производителей (требовать 10 лет софтовой поддержки - отличный способ для Apple и Samsung разобраться с конкурентами), поможет экономике стран-конкурентов, которые таким регулированием заниматься не станут.
Если окажется, что покупатели всё равно хотят новый айфон и дольше пользоваться телефонами не начинают, придётся ударять по ним "утильсбором на телефоны", чтобы передумали.
Даже при хорошо работающей гарантии, думаю, покупателям с сильно выгоревшим за 9 лет OLED'ом будут отказывать. Покупатели прикинут остаточную стоимость устройства, величину судебных расходов и сделают выводы.
Это всё не важно, но...
Это очень общий термин. Что-то с чем-то объединили - интеграция.
О процессе соединения там не говорят, зато есть обычное "solder joint".
Разваривать микросхемы можно, а распаивать нельзя? Wire bonding в русском стал разваркой, а для пайки microbump'ов устоявшаяся терминология вряд ли есть.
Вот, не интеграция, а "solder reflow", пайка оплавлением. Сухие документы говорят, что микросхема может быть распаянной таким способом
почти так же надёжно, как вилка лежит, тарелка стоит, а птичка сидит. Или вот: "said Doug Scott, senior vice president of wafer level packaging at Amkor Technology ... copper pillar bumps ... assembly reflow".Ну, внутреннее устройство HBM (соединение стеков) в рамках статьи не важно, про это не говорилось.
Хм, bonded joint - хороший термин. Соединённое соединение. По смыслу - что-то вроде неразъёмного соединения, но переводов в микроэлектронике не видно.
Хм, проверка чётности при чтении нашлась в реализации RAID3 у FreeBSD: graid3 -w (verify reading feature). И в комментах выше - в различных заоблачных СХД (RAIDIX, IBM), к ним надо добавить SGI, он рассматривал проверку чётности как альтернативу для T10-DIF/PI:
SATASSURE=[PARITY|DATA_INTEGRITY_FIELD].Какой-то бред. Это как позвонить в Labcenter Electronics и объяснить им, сколько раз и где именно они нарушили ЕСКД.
Противопоставляет алгебру и арифметику советское пособие для педагогов. Оно утверждает, что в алгебре "знак умножения связывает компоненты действия сильнее, чем знак деления" (зависимо от того, опускается ли знак): a ÷ bc = a ÷ b*c = a÷(b*c). При этом само дальше эту сомнительную практику не использует и делит горизонтальной чертой.
В одних калькуляторах Texas Instruments решили повысить приоритет неявного умножения. На правила алгебры TI не ссылалась. Затем в следующих калькуляторах это решение откатили. В рунете повышение приоритета приписали некой алгебраичности калькулятора. Обосновывают тем пособием и ещё одним, противоречащим ему (пофиг, пляшем).
Общего правила в калькуляторах нет, один производитель в двух соседних моделях может поменять решение (TI-82 и TI-83), заучивать это не сильно полезнее, чем способы извлечения корня на арифмометре.
И подкину на эту тему:
На письме можно не дотянуть до конца черту корня: √ax, пусть гадают.
3*10^6 - это форма записи одного числа (то же, что 3e6) или выражение из нескольких чисел? От этого зависит результат выражения 1/3*10^6. Wolfram Alpha считает одним числом (но не с пробелами: 3 * 10^6), при обсуждении предыдущей статьи на это наткнулся.
Можно, кстати, посмотреть, как деградировала преамбула в погоне за наукообразностью: первая версия статьи в 2005.
Где-то ещё была хорошая шутка про определения, когда статья начинается с угнетающей скобки на несколько строк, перечисляющей этимологию, даты, синонимы, источники на всё вышеуказанное... А что далеко ходить, вот: https://ru.wikipedia.org/wiki/Ломоносов,_Михаил_Васильевич
Нужен баланс между точностью и доступностью, который там часто нарушается в пользу точности. Начинать статью не совсем точно, но доступно - это правильно, но, видимо, встречает там сопротивление.
Но чем сложнее люди, тем дальше они будут углубляться. Критика направлена на преамбулу и первые разделы (мягкое), а в качестве примера показывает, насколько далеко заходит статья после них (тёплое). Поэтому пример плохой. Тем более, что преамбулу и первые разделы есть за что критиковать.
Мягкое и тёплое. Вывод ChatGPT подходит для начала статьи. Доказательства могут подходить для углублённой части статьи. Могут не подходить. В любом случае, это уже другой вопрос - он не касается вводной части статьи.
А вы присмотритесь, там возводят именно единицу. И в двух других комментариях делают 10 XOR 100.
Плохой пример, это середина статьи про теорему Нётер, после разделов "1. Общие сведения, 2. Неформальная формулировка теоремы, 3. Краткая иллюстрация и обзор концепции 4. Исторический контекст".
Но проблема есть. Чтобы статья не выглядела как шпаргалка для студента, нужны усилия. Больше редакторов - больше человеко-часов на статью (английская википедия качественнее).
Там есть советы, как писать статьи ("от простого к сложному" и т.д.):
https://ru.wikipedia.org/wiki/Википедия:ПРОЩЕ
Мелкая ошибка: Wolfram Alpha распарсил
10*10^101как одно число в научной нотации и целиком поместил в знаменатель, но слова про логику верны: у него1 - (1/10)*10^101 = -99999....С проблемой десятичных дробей, если они всё же нужны, борются "рационализацией" float'ов доступными средствами (sympy: [1][2][3], MATLAB: предлагают страдать).
JS и C в этом плане удивительные языки, в них можно даже так писать:
/s /s /s
Скрытый текст
Возможно, первым шутить начал тот, кто добавил скобки вокруг крышечки, чтобы при xor'е тоже получался ожидаемый результат.
Логика в том, что десятичная дробь триггерит переход к неточной плавающей запятой и эта же логика в MATLAB'е и Wolfram Alpha.