Комментарии 62
А как там майнинг поживает?)
Чтобы студенты думали не о решении задачи, а у том, как компьютеру лучше обрабатывать данные? Так можно и до asm скатиться, там явно самая эффективная работа с памятью и процессором, но насколько трудозатратней станет писать такие программы и учитывать кучу мелочей?
Раньше FORTRAN и C++ всем нравились, а сейчас народ, видимо, отупел
Julia — спасет планету! Физикам не надо жечь калории плясками с бубном для распараллеливания вычислений, а процессора коптят атмосферу во время расчетов гораздо меньше
правда теперь придется еще поломать голову, почему такое жуткое ускорение...
Правда у вас не то бенчмаркается :)
Из доков:
Note that without a reducer function, @distributed executes asynchronously, i.e. it spawns independent tasks on all available workers and returns immediately without waiting for completion. To wait for completion, prefix the call with sync, like: <...>
можно просто на бумажке посчитать, а еще лучше на песке палочкой
Из asm, конечно, теоретически можно выжать максимальную производительность, но на практике для любой мало-мальски сложной задачи человек выдаст куда худший код, чем современные оптимизирующие компиляторы.
Не обязательно ударяться в крайности – «если не питон, то C++ или вообще ассемблер». Есть немало достаточно производительных и при этом не таких монструозных языков, пусть и менее распространённых – Julia, Haskell, Ocaml (хотя у него с параллелизмом плохо), D, да хоть Go...
Только меня удивляет почему эти борцы с углекислым газом предпочитают в кабинетах и парламентах сидеть и корпорации штрафами окучивать, а не пустыни деревьями засаживать, как Китайцы, которые начали терраформировать Землю ещё до того как это стало мейнстреймом например:
«Пустыня Му-Ус — 42 200 км2, одна из четырех главных пустынь в Китае, «исчезла» с карты северо-западной провинции Шэньси, поскольку 93,24% опустошенных земель стали зелеными»
pikabu.ru/story/kitayskaya_pustyinya_prevratilas_voazis_posle_70_let_ozeleneniya_7461343
Тёмные Века настали уже тогда, когда стали продвигать языки по принципу простоты для тупых
Т.е. когда англо-саксы установили свою гегемонию над Земным шариком?
Все абстракции текут: думать об управлении памятью в современном C++ с либами нужно не больше, чем о каком-нибудь GIL в Python. Зато не нужно думать, как выразить алгоритм без циклов и прочих привычных алгоритмических вещей.
C++ требует гораздо более глубокого понимания устройства компьютера, чем Python
Например зачем? В контексте задач численной обработки
Циклы и прочие привычные алгоритмические вещи из Питона не исчезли
Только вычисления сразу растягиваются на сутки вместо часов, по сравнению с numpy
А вообще в ход идет всё — у некоторых даже тс… Excel, кто-то творит величественные вещи в Ориджине, кто-то чуть что запускает Maple или Математику.
В C++ автоматическое управление памятью.
все работает сразу, желательно интерактивно
Это уже зависит от IDE, Jupyther Notebook в помощь.
потому что ученым проще и удобнее использовать Питон
Когда упрутся в пределы наращивания мощностей суперкомпьютеров и серверов — C++ и ему подобные внезапно снова окажутся очень удобными, также появится куча библиотек и инструментов как сейчас для Python, абстрагирующих сложные моменты языка
В C++ автоматическое управление памятью.
Вы "забыли" сказать главное — это автоматическое управление памятью в нём возможно, если
1) использовать его везде (включая тонны сторонних библиотек, код в которых не контролируется)
2) знать критически важные тонкости (типа, зачем ввели make_unique, и ещё кучу специфики, включая 19 видов инициализации и как можно получить проблемы от неверного выбора.
В сумме же эти условия недостижимы и при программисте, не имеющем опыта граблей C++ (что будет соответствовать 99.99% учёных), и при просто очень толстом и неоднородном продукте.
Когда упрутся в пределы наращивания мощностей суперкомпьютеров и серверов
Тогда всё равно все затратные действия уйдут в написанные профессионалами библиотеки, которые будут вылизаны под последние особенности конкретных GPU и TPU, а управляющий слой, который будет запускать конкретные действия и будет занимать при этом меньше тысячной доли времени, может быть написан на самом медленном из интерпретирующих динамических языков, он всё равно не будет ни на что влиять.
«В современном C++ с либами париться уже почти не нужно» – это тоже абстракция, которая тоже течёт ;)
Жизнь коротка, чтобы пользоваться ассемблером.
Шутки шутками, но видимо профессор совсем не знаком как устроена экосистема Python, в частности numpy/scipy, и при этом уверенно чертит графики эмиссии CO2 от языка программирования.
По моему скромному опыту, учёные — экологи "варятся" в своей среде с кучае стандартов/протоколов, но крайне оторваны от реальных задач, поставленных перед наукой и инженерами. А в некоторых отраслях экологических наук экспертов называют "practitioner" и даже "guru" что намекает...
Если важно не допускать увеличение количества CO₂ в атмосфере, то пусть цена электричества включает в себя стоимость извлечения из атмосферы того количества CO₂, которое туда поступило при выработке электроэнергии.
В жизни и так очень много факторов, которые стоит оптимизировать. С электроэнергией можно хотя бы упростить только до цены, чтобы если я уж я его купил, то мог быть уверен, что это ок, и мне нужно больше ни о чём связанном думать.
астрономы из Лейдинской обсерваториибудут последовательны и откажутся от использования лекарств (которые ведь тоже моделируются на суперкомпьютерах), откажутся от автомобилей (и здесь без суперкомпьютерных расчетов не обходится) и всего прочего, что приводит к
увеличению количества CO₂ в атмосфере
Они ведь приносят двойной вред — и углеродный след от запуска и от обработки данных в том числе на Python.
программистов» ( habr.com/ru/post/518838/#comment_22070392 ), но теперь очевидно что не только программистов.
Странная статья. Хотя скорее это заслуга не автора упомянутых в ней выводов, а журналиста, её писавшего, или хабрапереводчика.
суперкомпьютер не нужно использовать на полную мощность
Оптимальное сочетание производительности и выбросов достигается для ~1000 ядер, после чего суперкомпьютер начинает производить больше углерода, чем рабочая станция.
Кажется речь идёт про какой-то конкретный суперкомпьютер, а то и про конкретную вычислительную программу, на нём запущенную.
Наконец, автор призвал воздержаться от использования Python, если речь не идет о больших вычислениях.
Как раз большие вычисления и надо оптимизировать в первую очередь. Я и не предполагал что кто-то додумается для них интерпретируемый язык использовать.
Хотя в идеале конечно всякие питоны с пхп надо только для построения прототипов использовать, а продакшн программы писать только на компилируемых языках.
Ээх, не на то направлена их энергия. Знали бы они, сколько энергии, во всем мире, съедает js — не беспокоились бы о питоне
Будем ждать исследования, где говорится, что английский язык самый не экологичный. Также с графиками и доказательствами… всё как положено.
При работе с одним ядром суперкомпьютер производит меньше углерода, чем рабочая станция.
Сразу представляются такие гигантские стимпанковые суперкомпьютеры, с дымящими топками, в которые подбрасывают побольше угля, когда начинаются расчёты.
А это точно астрономы? Не совсем профильное исследование.
Астрономам порекомендовали меньше использовать суперкомпьютеры и Python из-за вреда экологии