Pull to refresh
3
1.2
Send message

Местное законодательство, регуляторы - в космосе их нет.

А куда они денутся? Если в законах США есть белые пятна на эту тему, их закрыть несложно. Рычаги давления всё те же - ракеты летают из США, бизнес в США, сам человек в США. Но говорить как о будущей свободной гавани можно (говорить вообще можно).

нельзя поместить далеко, например в другом конце земного шара

Ещё один конец земного шара найти дешевле, их у него много.

Видимо, так:

У США некоторые трудности с расширений энергосети, потому что 25 лет потребности были на одном уровне (4000 ТВт-ч в год). И эту политическую проблему (кто заплатит за новые электростанции и кому они, в конечном счёте, нужны) можно представить как физическую, чтобы обрадовать инвесторов: «ЦОД будущего будут потреблять много энергии», где «много» незаметно превращается из «2% от мировой генерации + местные политические дрязги» в «все пустыни уже в солнечных панелях и конца не видно».

orbital data centers is a first step towards becoming a Kardashev II-level civilization, one that can harness the Sun’s full power

500 to 1000 TW/year of AI satellites into deep space, meaningfully ascend the Kardashev scale and harness a non-trivial percentage of the Sun’s power.

https://www.spacex.com/updates#xai-joins-spacex

Да, но как?

Можно, например, назвать гифкой WebM, а потом ещё раз на самом деле перекодировать в гифку.

В новости подписаны - camelcamelcamel.com. Есть ещё такой агрегатор с текущими ценами, без графиков.

PS: что-то страшное с картинками происходит, тёмные времена наступают.

  • Оригинальные графики были в png

  • CDN tomshardware сжал их в lossy webp (хотя мог бы в lossless, это не фото)

  • Для хабра вместо оригинала взяли, похоже, скриншоты в меньшем масштабе

  • Сохранили их снова в lossy webp или jpeg 4:2:0

  • <здесь могла быть ваша нейросеть>

  • И залили на сайт в png

Апконверты в png (можно с потерей в качестве) - вроде норма у новостников.

...где нужно знать точное время выполнения. Оптимизация в таки случаях вообще отключается, hal или ll в случае stm32 не используются. Если интересна данная тема - посмотрите документ do-178c, идентичные документы есть и для других отраслей, наиболее известны такие нюансы в автомобильной промышленности.

Я бы это замял вместе с volatile. У DO-178B/C тёплые отношения с кодогенератором MATLAB'а. У MISRA и AUTOSAR нет претензий к оптимизациям-компилятора-в-рамках-стандарта. Читаемость кода в принципе отражается на безопасности. Важно знать время выполнения худшего случая и решения компилятора здесь на эту... знаемость не влияют.

Вроде бы остаётся часть DO-178B/C с наибольшими требованиями (DAL A), где хотят прослеживаемость до машинного кода, но (не)знакомство с той внутренней кухней само всплывёт, ненастоящие сварщики не пройдут.

Французы из ANSSI справедливо замечали, что за избеганием оптимизаций компилятора может стоять неуверенность в безопасности кода (или несогласие со стандартом, но подразумевается, что такой роскоши нет... или что её надо выражать через обращение взора на Rust):

In particular, the use of compilation options such as -fno-strict-overflow, -fwrapv, -fwrapv-pointer, -fno-delete-null-pointer-checks or -fno-strict-aliasing is most of the time indicative of a risky usage of the C language. ...

By default, compilation options shall be as strict as possible with the aim of increasing the stringency of the compiler to the fullest. ...

RULE — Enable a reasonably high optimization level. For GCC and CLANG, the optimization level must be at least -O1, and ideally -O2 or -Os. ...

RECOMMENDATION — Use the strictest compilation options

ANSSI Guidelines (PDF)

(где-то был ещё вариант "тестировать по советам выше, но на проде подстраховаться")

Просто этот вопрос может помочь на собеседовании выявить более высокий опыт кандидата.

Пишет код с учётом "гарантированных" оптимизаций, говорит про читаемость, про одни аспекты стандартов - заваливаем его с вашими аргументами.

Пишет код с избыточными ручными оптимизациями, говорит о проверенных традициях, о других аспектах стандартов - заваливаем с моими аргументами.

В итоге можно узнать... лояльность. Станет он говорить, что указанная оптимизация не только у GCC не отключалась на -O0, но и у компилятора CompCert (https://godbolt.org/z/TaP6h1jdM) - значит, лезет в бутылку. Зачем ему это? Мог бы аккуратно разузнать, как у нас принято и показать, что он под всё подстроится.

Это повод расширить сферу ответственности пилота или автомата?

если за 10 лет до mod добрались

К 1979 добрались (Unix v7 - github).

Ответ: При использовании volatile не будет гарантирована детерминированость.

Не понимаю, что вы сказать хотите. volatile - барьер оптимизации, который запрещает компилятору убирать доступ к памяти и переупорядочивать их, по крайней мере, относительно других volatile-доступов. За кадром обеспечение атомарности (если нужна) и умное железо со своим переупорядочиванием и кэшами.

PS: возвращаясь к "компилятор для разработчика или разработчик для компилятора":

Не хорошо на МК выполнять операции взятия остатка от деления и деление на 2...

Компилятор это оптимизировал в 1974, за исключением остатка:

	/*
	 * Try to change * and / to shifts.
	 */
	case TIMES:
	case DIVIDE:
	case ASTIMES:
	case ASDIV:
		tree = pow2(tree);
	}

Код из Unix v6, но по сравнению с v4 только комментарий добавился.

То есть совет перестал работать лет 40 назад, если за 10 лет до mod добрались...

Но лучше всего вызвать __builtin_popcount, если поддерживается

Где улучшения доведены до конца и будет (если нет инструкции в целевой архитектуре) либо алгоритм с SIMD-within-a-register, либо таблица:
https://github.com/gcc-mirror/gcc/blob/master/libgcc/libgcc2.c#L822

C-C++-C#-1C

Закономерность ведёт к D и напоминает о пропуске C𝄪 (видимо, пропущен из-за плохой поддержки в юникоде).

А вы посчитали, что машины смогут восставать из пепла ядерного огня?

Конечно не учёл, вы же не учитывали "Ну если серьёзно..." в соседнем комменте и смайлики в начале ветки и не захотели смотреть на расчёты как на крайние оценки снизу-сверху, призванные напомнить, что компьютеры в принципе жрут немного по сравнению с кондиционерами, металлургическими заводами, людьми и прочими не менее сравнимыми вещами.

Из забавного с volatile: раз его сделали квалификатором типа (а не как в Rust), рядом с ним можно написать register. Но эту конструкцию наделили смыслом только в расширении GCC про конкретные регистры (register T $varname asm("$regname") = 0;), там register кое-как учитывается: https://godbolt.org/z/1554zK8ro.

Из похожего есть load/store с подсказками, что "это в будущем не пригодится" (постараться не кэшировать / побыстрее вытеснить), гуглятся по "non-temporal (NTA) access".

...но если шутку объяснять, она перестанет быть смешной.

Абсолютно точно. 16 часов нерабочего времени, 2 выходных и 600 грамм муки. На самом деле вы тоже это понимаете, потому что вопросов о техпроцессе производства человеков или почему они "потребляют", а датацентры "едят" не возникло.

*5 = 44 рубля в месяц.

Ещё *8 часов надо, можно проверить.

А они значительно получают больше.

Конечно, ведь кВт-ч пшеничной муки дороже электрического.

Ну если серьёзно, то в вопросе энергия была и можно делать выводы из того, что нейронки едят около процента мировой электроэнергии - это очень мало, в новостях про электростанции ерунду раздувают (ноль новых электростанций гораздо-гораздо дешевле одной). С капитальными затратами у кожаных тоже не очень.

Если GCC из 2006 года оптимизировал примеры на -O0 и требовал усилий для сохранения деоптимизации, то на сколько же тогда советы устарели?
https://godbolt.org/z/cbssKjbfx

1
23 ...

Information

Rating
1,718-th
Registered
Activity