[Перевод] Планирование в Python

Планирование задач — неотъемлемая часть работы любых веб-приложений, в особенности таких, в которых требуется совершать периодические или отложенные действия. В Python предусмотрено множество способов планирования задач, и у каждого есть свои сильные и слабые стороны. В этой статье будут рассмотрены некоторые наиболее популярные способы планирования задач в приложении, написанном на основе FastAPI. sched – планировщик событий из Python Модуль sched входит в состав стандартной библиотеки Python и обеспечивает простой механизм для планирования событий в программе. Этот модуль может работать в приложении на FastAPI, но пользоваться им не рекомендуется, так как он слишком прост, и функциональность его ограничена.

https://habr.com/ru/companies/piter/articles/920194/

#перевод #параллелизм

Планирование в Python

Планирование задач — неотъемлемая часть работы любых веб-приложений, в особенности таких, в которых требуется совершать периодические или отложенные действия. В Python предусмотрено множество способов...

Хабр

[Перевод] Обзор CUDA: сюрпризы с производительностью

Наверное, я очень опоздал с изучением CUDA. До недавнего времени даже не знал, что CUDA — это просто C++ с небольшими добавками. Если бы я знал, что изучение её пойдёт как по маслу, я бы столько не медлил. Но, если у вас есть багаж привычек C++ , то код на CUDA у вас будет получаться низкокачественным. Поэтому расскажу вам о некоторых уроках, изученных на практике — возможно, мой опыт поможет вам ускорить код.

https://habr.com/ru/articles/901750/

#CUDA #параллелизм #графические_процессоры #оптимизация

Обзор CUDA: сюрпризы с производительностью

Наверное, я очень опоздал с изучением CUDA. До недавнего времени даже не знал, что CUDA — это просто C++ с небольшими добавками. Если бы я знал, что изучение её пойдёт как по маслу, я бы столько не...

Хабр

Как я «ломал» DeepSeek

В своей предыдущей статье[1] я уже рассказывал, как начал свое знакомство с искусственным интеллектом (ИИ). Тогда это был ChatGPT, а теперь — китайский DeepSeek[2]. Общение с DeepSeek происходит без посредников, что делает его более удобным и доступным. Раньше за использование ChatGPT приходилось платить или, например, задавать не более трёх вопросов в сутки. А с DeepSeek можно спрашивать сколько угодно и о чём угодно, не тратя ни копейки. Правда, есть опасения, что бесплатная подписка может закончиться, и тогда доступ к сервису будет закрыт. Также ходят слухи о возможных проблемах с «нежелательными» запросами. Так уж жизнь повернулась, что для меня в автоматном программировании (АП) возникла пауза. Но мне бросить АП все равно что перестать дышать. А потому просто произошла задержка дыхания или просто передышка. Меня это не сильно огорчило, т.к. я по-прежнему пользуюсь АП, вдыхая полной грудью его возможности. Даже в текущей ситуации. Тем не менее, я кинулся, так сказать, «во все тяжкие». Мне предложили заняться «умными домами» и я согласился. Новая область, новые интересы, новое приложение своих сил. Короче, – «движуха»! Мы, ведь, все мечтаем о чем-то подобном – не так ли? А еще обещали мотивировать, что немаловажно в наше меркантильное время. Вспомним хотя бы размер виртуальной средней зарплаты по России и средний размер пенсий... Сейчас я только рад случившемуся. Раньше было скучновато. Иногда взбадривало общение на Хабре, а теперь «поддает жару» искусственный интеллект. И хотя я предполагал что-то подобное, но не ожидал, что это произойдет столь быстро, так бурно и с таким эффектом. Китайский ИИ стал коллегой, советчиком, а, порой, и собеседником, помогая освоить новую область программирования. При этом я по-прежнему не согласен с глашатаями, предрекающими замену программистов, но уверен, что квалификацию многих из них он повысит точно. Я убедился в этом на своём опыте.

https://habr.com/ru/articles/899260/

#параллелизм #искусственный_интеллект #умныйдом

Как я «ломал» DeepSeek

В своей предыдущей статье[1] я уже рассказывал, как начал свое знакомство с искусственным интеллектом (ИИ). Тогда это был ChatGPT, а теперь — китайский DeepSeek[2]. Общение с DeepSeek происходит без...

Хабр

Этот мир — асинхронный, и что вы ему сделаете

Все современные средства разработки — практически без исключения — наделены двумя родовыми травмами. Они не дают доступа к чуть более низкому софтверному уровню (синтаксическому дереву) без помощи сторонних хаков и ориентированы на синхронное исполнение. Прежде, чем продолжить, я сразу оговорюсь: я не имею в виду узкоспециализированные задачи, типа написания драйверов, программирования контроллеров и прочей околожелезной разработки; там другие правила. Я говорю про мир приложений: от инди-игр до энтерпрайза. Языки высокого уровня, на которых сегодня ведется более (оценка навскидку) 98% всей разработки продуктов для конечного пользователя, лишены примитивов представления AST и параллельного (не путать с асинхронным) исполнения. Но мир ничего не знает о наших абстракциях

https://habr.com/ru/articles/897226/

#акторная_модель #параллелизм #асинхронность #абстракции

Этот мир — асинхронный, и что вы ему сделаете

Все современные средства разработки — практически без исключения — наделены двумя родовыми травмами. Они не дают доступа к чуть более низкому софтверному уровню (синтаксическому дереву) без...

Хабр

Введение в конкуренцию Go

Конкуренция (concurrency) в программировании позволяет разным частям программы выполняться независимо друг от друга. Это помогает повысить производительность и эффективнее использовать системные ресурсы. Конкуренция особенно важна для современных приложений, таких как сетевые сервисы или программы, работающие с множеством пользовательских запросов. Go предлагает уникальный подход к реализации конкуренции, который отличается от других языков программирования. В основе этого подхода лежат горутины и каналы — основные инструменты для написания конкурентного кода. В этом материале мы рассмотрим, как Go помогает решать задачи конкуренции, чем конкуренция отличается от параллелизма и почему использование этих инструментов делает приложения более быстрыми и масштабируемыми.

https://habr.com/ru/articles/896940/

#go #golang #конкуренция #параллелизм #каналы #горутины

Конкуренция в Go

Конкуренция (concurrency) в программировании позволяет разным частям программы выполняться независимо друг от друга. Это помогает повысить производительность и эффективнее использовать системные...

Хабр

Три необсуждаемых вопроса о параллельной распределённой обработке данных — чтобы жить стало легче

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

https://habr.com/ru/articles/891744/

#конкурентность #распределенные_системы #распределённая_обработка_данных #георезервирование #таскменеджер #таскраннеры #датаинжиниринг #параллелизм

Три необсуждаемых вопроса о параллельной распределённой обработке данных — чтобы жить стало легче

Привет, Хабр! На связи Владимир, техлид в команде разработки ИИ-инструментов в департаменте технологической надёжности одной из крупных компаний. Наша команда помогает делать корпоративные и...

Хабр

Типы и архитектуры параллельных вычислений: какие они бывают?

Привет, Хабр! В этом материале мы снова вернемся к теме GPU и машинного обучения, но на этот раз поговорим о параллельных вычислениях, видах параллелизма и типах архитектур, которые задействуют для эффективной тренировки и работы нейросетевых моделей.

https://habr.com/ru/articles/881488/

#параллельные_вычисления #gpu #gpu_вычисления #параллелизм #архитектура #глубокое_обучение #глубокие_нейронные_сети #нейронные_сети #нейронные_сети_и_машинное_обучение #cpu

Типы и архитектуры параллельных вычислений: какие они бывают?

Привет, Хабр! В этом материале мы снова вернемся к теме GPU и машинного обучения, но на этот раз поговорим о параллельных вычислениях, видах параллелизма и типах архитектур, которые задействуют для...

Хабр

Распределённое обучение нейронных сетей. Часть I

Многие из успехов в глубинном обучении достигнуты отчасти благодаря тому, что разработчики, говоря простым языком, взяли модели побольше и натренировали их на огромных объёмах данных. Однако, чтобы прогнать эти самые огромные объёмы данных через модель, нужно либо очень много времени, либо каким-то образом распределить работу на много вычислительных узлов - сделать обучение параллельным. Я видел на Хабре пару статей на эту тему, но дерзну попробовать написать ещё одну. Добавить кое-каких деталей, а что-то, что уже было, надеюсь, получится объяснить попроще. Поехали!

https://habr.com/ru/companies/itfb/articles/858794/

#глубинное_обучение #ии #искусственный_интеллект #параллелизм #parallelism #ai #deep_learning

Распределённое обучение нейронных сетей. Часть I

Вступление Добрый день! Меня зовут Александр, я занимаюсь с компанией ITFB Group проектами, связанными с искусственным интеллектом, в частности, с обучением и использованием нейронных сетей. Думаю, ни...

Хабр

Как ускорить высокопараллельные вставки строк в SQL Server за считанные часы: опыт Mindbox

Привет, Хабр! Меня зовут Тимур Маннапов, и я самый обычный senior-разработчик в Mindbox. На примере нашего продукта я расскажу, почему при загрузке CPU наполовину или меньше скорость параллельных вставок на SQL-сервере упирается в «невидимый» предел, а потом и вовсе замедляется. На нашем железе предел был в районе ~120 тысяч строк в минуту в одну таблицу. Поделюсь, как его преодолеть, не потратив годы на разработку и миллионы на новый сервер.

https://habr.com/ru/companies/mindbox/articles/854156/

#sql #pagelatch_ex #параллелизм #параллельные_вычисления

Как ускорить высокопараллельные вставки строк в SQL Server за считанные часы: опыт Mindbox

Привет, Хабр! Меня зовут Тимур Маннапов, и я самый обычный senior-разработчик в Mindbox. На примере нашего продукта я расскажу, почему при загрузке CPU наполовину или меньше скорость параллельных...

Хабр

[Перевод] Как правильно тестировать конкурентные структуры данных

Есть потрясающая библиотека Rust под названием loom , которую можно использовать для тщательного тестирования неблокируемых (lock-free) структур данных. Я давно хотел разобраться, как она работает. И сейчас хочу! Но недавно я случайно реализовал небольшой эксперимент, который, как мне кажется, содержит часть идей loom , поэтому о нём стоит написать. Моя цель — не научить вас тому, что нужно использовать на практике (если вы хотите этого, то почитайте документацию loom ), а, скорее, вывести пару идей из фундаментальных принципов.

https://habr.com/ru/companies/ruvds/articles/827940/

#ruvds_переводы #конкурентность #параллельные_вычисления #параллелизм #concurrency #структуры_данных #тестирование

Как правильно тестировать конкурентные структуры данных

Есть потрясающая библиотека Rust под названием loom , которую можно использовать для тщательного тестирования неблокируемых (lock-free) структур данных. Я давно хотел разобраться, как она работает. И...

Хабр