Обновить
4

Пользователь

1
Подписчики
Отправить сообщение

Как это назвать?

Так же.

Sustained transfer rate (MB/s, max min)

⁴ 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" в название величины.

Он про то, чтобы добавить в характеристики ещё эту величину:

https://basic-tutorials.com/reviews/peripherals/wd-my-book-22-tb/

расследование «заговора» разработчиков HDD

Чего не договаривают производители HDD

Что диски нельзя сушить в микроволновке...

___

Они указывают, что скорость - максимальная. Они рассказывают про уменьшение скорости на внутреннем радиусе. Упоминают на своих сайтах 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).

Ранняя смерть (69 лет) указывала не только на недостатки отдельных людей наверху, но и на общую нестабильность системы. А в мире современности есть стабильная страна, перехватившая знамя. Ей уже 77-й год, на хабре о ней были "инсайды".
https://habr.com/ru/companies/ruvds/articles/646925/
https://habr.com/ru/companies/ruvds/articles/648399/

Хотя нас там, наверное, считают познавшими запретный плод "крысиного мира современности" и врата не откроют.

Это может плохо кончиться. Создаст барьер для маленьких производителей (требовать 10 лет софтовой поддержки - отличный способ для Apple и Samsung разобраться с конкурентами), поможет экономике стран-конкурентов, которые таким регулированием заниматься не станут.

Если окажется, что покупатели всё равно хотят новый айфон и дольше пользоваться телефонами не начинают, придётся ударять по ним "утильсбором на телефоны", чтобы передумали.

Даже при хорошо работающей гарантии, думаю, покупателям с сильно выгоревшим за 9 лет OLED'ом будут отказывать. Покупатели прикинут остаточную стоимость устройства, величину судебных расходов и сделают выводы.

Это всё не важно, но...

В англоязычной литературе используется выражение "интеграция"

Это очень общий термин. Что-то с чем-то объединили - интеграция.

даже если речь идет о microbumps

О процессе соединения там не говорят, зато есть обычное "solder joint".

Но и в этом случае, это не распаивание и не припаивание, а спаивание

Разваривать микросхемы можно, а распаивать нельзя? Wire bonding в русском стал разваркой, а для пайки microbump'ов устоявшаяся терминология вряд ли есть.

спаивание (да, дотошный; bonding - см. ниже).

Вот, не интеграция, а "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 подходит для начала статьи. Доказательства могут подходить для углублённой части статьи. Могут не подходить. В любом случае, это уже другой вопрос - он не касается вводной части статьи.

А вы присмотритесь, там возводят именно единицу. И в двух других комментариях делают 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 в этом плане удивительные языки, в них можно даже так писать:

x = 5;
x ^= 2;

/s /s /s

Скрытый текст

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

Логика в том, что десятичная дробь триггерит переход к неточной плавающей запятой и эта же логика в MATLAB'е и Wolfram Alpha.

from sympy import *
print(sympify('10^100 + 1  - 0.1*10^101')) # 0
print(sympify('10^100 + 1  - 1/10*10^101')) # 1
print(sympify('10^100 + 1  - 0.1*10^101', evaluate=False).simplify()) # 0
print(sympify('10^100 + 1  - 0.1*10^101', rational=True)) # 1

# MATLAB:
# sym('10^100 + 1 - 0.1*10^101')      # 0.0
# sym('10^100 + 1 - 1/10*10^101')     # 1
# vpa('10^100 + 1 - 0.1*10^101', 100) # 1.0

# Wolfram Alpha https://www.wolframalpha.com/input?i=1+-+1%2F10*10%5E100
# 1 - 0.1*10^101 = -1*10^100
# 1 - 1/10*10^101 = 1 - 1/(10×10^100)

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность