Сетевые карты Nvidia_Mellanox_CX5 и 6DX_RDMA_RoCE_lossless и lossy_DCQCN контроль перегрузки_динамическое соединение и другие подробные объяснения — одна статья, чтобы начать работу с RDMA и RoCE без потерь и без потерь
Сетевые карты Nvidia_Mellanox_CX5 и 6DX_RDMA_RoCE_lossless и lossy_DCQCN контроль перегрузки_динамическое соединение и другие подробные объяснения — одна статья, чтобы начать работу с RDMA и RoCE без потерь и без потерь

Введение

Благодаря Интернету, Появление искусственного интеллекта и т. д., Межмашинная связь предъявляет более высокие требования к пропускной способности и задержке. Технология RDMA также постоянно итеративно развивается. нравиться: Протокол RoCE (RDMA Converged Ethernet), Из RoCEv1 -> RoCEv2, и протокол IB, Сетевая карта Mellanox RDMA cx4, cx5, cx6/cx6DX, cx7 и т. д., В этой статье в основном анализируется технология RoCE на базе CX5 и CX6DX. Введение в ключевые технологии RDMA и RoCE с потерями и без потерь.

Nvidia Mellanox фокусируется на реализации многих сетевых деталей, предоставляя пользователю больше выбора (пользователь может включить или отключить после понимания)

термин

RoCE: RDMA объединяется с Ethernet, наследуя все преимущества RDMA

WQE: элемент рабочей очереди, произносится (вуки)

CQE: элемент очереди завершения, произносимый (cookie)

RDMA Atomic: атомарная операция, в основном используемая в распределенных блокировках, кеше Redis и других сценариях.

DCQCN: Уведомление о количественной перегрузке центра обработки данных

ZTR(Zero Touch RoCE)

PCP (код приоритета): код приоритета используется для классификации и управления сетевым трафиком, а также обеспечения качества обслуживания на уровне 2 Ethernet. Он классифицирует пакеты, используя 3-битное поле PCP в заголовке VLAN. Дифференцированные службы или DiffServ используют 6-битный DSCP в 8-битном поле DS в заголовке IP для классификации пакетов.

ECN: явное уведомление о перегрузке — это расширение протокола Интернета и протокола управления передачей, определенных в RFC 3168 (2001). ECN позволяет осуществлять сквозное уведомление о перегрузке сети без потери пакетов. ECN — это дополнительная функция, которую можно использовать между двумя конечными точками с поддержкой ECN, если базовая сетевая инфраструктура также поддерживает ее.

DSCP (кодовая точка дифференцированных услуг): Кодовая точка дифференцированных услуг, дифференцированные услуги или DiffServ — это архитектура компьютерной сети, которая определяет механизм классификации и управления сетевым трафиком, а также обеспечения качества обслуживания (QoS) в современных IP-сетях. Например, DiffServ можно использовать для обеспечения низкой задержки для критического сетевого трафика, такого как голосовой или потоковый мультимедиа, одновременно обеспечивая максимально эффективное обслуживание некритических сервисов, таких как веб-трафик или передача файлов. DiffServ использует 6-битную кодовую точку дифференцированных услуг (DSCP) в 8-битном поле дифференцированных услуг (поле DS) заголовка IP для классификации пакетов. Поле DS заменяет устаревшее поле TOS IPv4.

Cos: класс обслуживания Классификация обслуживания

CX-6 DX: серия для центров обработки данных

ООС: не по порядку, не по порядку

PSN: порядковый номер пакета, порядковый номер пакета, пакет разбивается на несколько пакетов в соответствии с MTU, каждый пакет имеет порядковый номер PSN

CNP: пакет уведомления о перегрузке пакет уведомления о перегрузке

RP: точка реакции. Конец, который реагирует на уведомление (пассивная сторона).

NP: точка уведомления. Конец, инициирующий уведомление (активная сторона).

TO: поторговаться, взвесить

BDP: произведение задержки полосы пропускания. При передаче данных произведение задержки полосы пропускания является произведением пропускной способности канала передачи данных (в битах в секунду) и времени его двусторонней задержки (в секундах).

Предварительные знания

Механизм GoBackN

Основные понятия RDMA

Как работает РДМА

ЦП отправляющей стороны один раз позвонит в дверной звонок, когда он будет готов отправить данные, но принимающая сторона не уведомит ЦП после получения данных сетевой карты (уменьшая накладные расходы).

Стек коммуникационных технологий IBA

Общие операции RDMA

Сравнение RoCE и RoCEv2

  1. RoCEv2 не имеет GRH (глобального заголовка маршрутизации) RoCE.
  2. Заголовок Ethernet уровня 2 L2 может содержать тег 802.1Q (PCP или VLAN_ID).
  3. IP-заголовок RoCEv2 может содержать тег ECN и DSCP.
  4. Номер порта протокола IP указывает, что пакет является сообщением UDP.
  5. Порт назначения UDP 4791 (зарезервированный порт) указывает, что следующим заголовком является BTH IB (базовый заголовок передачи BasicTranspotHeader занимает 12 байтов).
  6. Вы можете сравнить разницу между ними, перехватив пакеты (обратите внимание на разницу между IPv6 и IPv4), как показано на рисунке ниже:

Как улучшить работу RoCE

Настройка управления потоком (L2 PCP/L3 DSCP)

Отправитель Отправитель -> Получатель Получатель

Управление потоком — это протокол канального уровня. Высокий и низкий уровни воды устанавливаются в буфере RX получателя. Когда буфер получателя заполнен, отправителю отправляется кадр паузы XOFF и приостанавливает отправку пакета до тех пор, пока получатель не освободится. После выхода из приемного буфера отправьте кадр UN-Pause отправителю, отправителю XON, и перезапустите отправку. Это решение не будет пересекать коммутатор.

Многопотоковая проблема: Кадры паузы нечувствительны к потоку, повлияетдругойпоток

Решение: решение без потерь, приоритетное управление потоком PFC, использование 8 приоритетов (0–7), независимое управление каждой службой классификации потоков CoS, сетевая карта может разделить буфер, например, половина запускается без потерь, а половина остается с потерями.

Формат кадра 802.3x PAUSE и кадра PFCссылка

Сторона хоста: вы можете просмотреть и настроить управление потоком PFC с помощью инструментов ethtool и mlnx_qos. Соответствующие конфигурации также необходимы на стороне коммутатора. Если оно находится в нескольких компьютерных залах, необходимо поддерживать аналогичные конфигурации (одна из проблем без потерь, иногда проблема). коммутатор находится вне нашего контроля), поэтому сеть такого размера ограничивает конфигурацию без потерь)

Управление/алгоритм управления перегрузкой (DCQCN, ZTR_RTTCC, собственный алгоритм PCC)

Проблема с пробками:

Ответчик ReactionPoint (сетевая карта отправителя) --------------- Переключатель точки перегрузки точки перегрузки --------------- Инициатор уведомления NotificationPoint (сетевая карта получателя)

принцип: Когда коммутатор обнаруживает перегрузку, Отметьте экспортную посылку знаком ECN, После того как принимающая сторона получит пакет ECN, Поскольку есть информация QP отправителя, Отправьте пакет уведомления о перегрузке CNP на отправляющую сторону, В это время, если отправитель получает пакеты ECN от нескольких получателей, Отправителю необходимо иметь распределенный алгоритм контроля перегрузки (DCQCN, Разработано Mellanox и Microsoft), замедлить и запланировать отправку, Если отправитель не получает CNP в течение определенного периода времени, В настоящее время движение транспорта необходимо восстановить. На данный момент существует три этапа восстановления: Быстрое восстановление FR(быстрое recovery) -> Двусторонний инкрементный AI (аддитивный increase) -> Увеличьте HAI быстрее (гипер increase)

в cx6 Алгоритм контроля перегрузки можно настроить на сетевой карте DX. Например, Alibaba и Google имеют свои собственные алгоритмы управления перегрузками. алгоритмссылка:

Программируемый алгоритм контроля перегрузок

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

2. Над алгоритмами также работает специальная команда.

Алгоритм DCQCN, параметры и схема процесса ссылка

Формат кадра CNP:

Настройте управление потоком:

QoS обеспечивает качество

В основном PCP уровня 2 и DSCP уровня 3, которые выполняют классификацию трафика и обеспечивают качество обслуживания.

Детальный контроль буферов приема сетевой карты.

Разрежьте буфер RX, например, на 8 фрагментов, для более детального управления приоритетной очередью.

другой

Конфигурация в один клик: Может быть обнаружен и настроен с помощью сценариев, для управления RoCE Утилита командной строки для высокопроизводительной настройки сетевого интерфейса развернутых систем. ссылка: https://github.com/NVIDIA/doroce-linux

GID index

Классификация трафика RoCEv2 (TC/TOS/приоритет)

Проблемы, связанные с без потерь

Недостатки без потерь

Сложная конфигурация

Сильная перегрузка вызовет проблему приостановки передачи.

  • Увеличение задержки
  • Пауза Шторм кадров Пауза Шторм
  • Сложная конфигурация, Каждый узел Fabric должен поддерживать согласованную конфигурацию без потерь.
  • ограниченный, Например, крупная сеть, или сеть клиента, Нет разрешения на настройку без потерь

Чтобы лучше продвигать и использовать RoCE, конфигурация с потерями решает некоторые проблемы конфигурации без потерь.

Таблица поддержки функций Lossy RoCE (сетевая карта серии CONNECTX-5/6 DX) (6 основных функций)

Примечание. В следующем списке функций cx4 поддерживает только AR (адаптивная повторная передача). Эта функция является лишь переходной версией для cx4 и имеет лучшую поддержку в cx5.

CX-5

Медленный Перезапуск, Быстрая обработка (ответ) после потери пакетов Открыто по умолчанию)

1. После того, как получатель получает пакет с нарушением порядка (PSN2 потерян), счетчик OOS увеличивается на 1, а номер psn (psn2) включается в ответ oos_nack отправителю, и отправляется CNP

2. После того, как отправитель получает сообщение, он увеличивает количество ошибок и отправляет последующие пакеты с более низкой скоростью (чтобы предотвратить дальнейшую потерю пакетов).

3. Количество связанных ошибок можно просмотреть в аппаратных счетчиках.

4. другой: ecn_mark, mst status -v, ls /sys/class/net/ens3f0/roce_rp/enable/, 8 приоритетов (0~7), rp: reaction_point Здесь только отправляющая сторона

Когда происходит аппаратная потеря пакета, отправитель отправляет CNP самому себе, и счетчик CNP увеличивается на 1.

Получатель отправляет OOS_NACK (пакет с нарушением порядка, отрицательный ответ) и CNP. После того, как отправитель получает CNP, счетчик увеличивается на 1, а скорость снижается.

cx5 включает эту функцию по умолчанию

Подробное объяснение медленного перезапуска (по умолчанию отключено) и счетчика при создании нового соединения QP.

1. Когда пакеты теряются, вновь созданный QP также необходимо контролировать с более низкой скоростью для отправки пакетов.

2. Все счетчики вновь начатого трафика находятся на стороне отправки (как показано ниже). После получения нескольких элементов управления медленным перезапуском и отправки собственного пакета уведомления о перегрузке QP переходит из состояния ожидания в состояние отправки (возобновление приостановки).

3. Тайм-аут QP определяется протоколом IB (простой QP должен контролироваться приложением для улучшения использования QP)

Повторно передать потерянные пакеты, создать новый QP или приостановить и перезапустить QP, проверить информацию о встроенном ПО (FW)

Медленный перезапуск подходит для длинного трафика. Он не подходит для QP с коротким потоком, которые отправляют команды экстренного управления. По сравнению с управлением TCP, он должен быть проще. Чтобы найти компромисс, QP, управляемый медленным перезапуском, будет. подвергаться воздействию последующего DCQCN (алгоритма динамического управления перегрузками) для достижения равновесия на пределе скорости.

Медленный старт (выключено по умолчанию)

После медленного перезапуска После запуска другого QP, Отправляйте пакеты с ограниченной скоростью, пока пробка не будет снята

Окно передачи (по умолчанию 2 в 7-й степени = 128PSN)

Когда сеть перегружена, исходному Go-BackN может потребоваться повторно передать большое количество пакетов, которые прибыли на принимающую сторону, но были проигнорированы.

Теперь используйте размер окна, чтобы уменьшить стоимость повторной передачи.

1. TCP может управляться динамически, здесь в качестве единицы используется QP, а размер окна фиксирован.

2. Размер выдающегося окна заполнен: пакет ACK или NACK не получен.

3. После получения ACK окно PSN опустится вниз.

4. Запрашивающая сторона выполняет три записи 1K RDMA. После получения ACK она перемещается вниз по окну (если окно имеет 6 номеров PSN) и генерирует CQE.

5. Чем больше расстояние на рисунке, тем дольше время ожидания.

6. IB определяет спецификации ответа ACK, При получении 1 нужно ответить на 1 (последний PSN), Чтобы предотвратить тупик, Каждые 8 ​​PSN ответят 1 ACK, ссылка Управление потоком BDP (Пропускная способность Delay Product произведение задержки полосы пропускания)

Адаптивный таймаут повторной передачи (рекомендуется включить,Частная реализация Nvidia Mellanox,Можно сравнить с Broadcom или другим)

Отправитель динамически регулирует ACK_TIMEOUT (например, после отправки 3 PSN время подтверждения, необходимое получателю для ответа на PSN3, истекает).

1. Как отправляется тайм-аут (соответствует трем маленьким картинкам справа)?

(1) Последний PSN теряется, отвечающая сторона не выполняет никаких операций, а отправляющая сторона наконец запускает тайм-аут подтверждения (тайм-аут подтверждения). Весь MSG необходимо передать повторно, В этом процессе нет ничего необычного, OOS, Ни ACK, ни NACK, Пользовательские программы могут устанавливать конфигурацию тайм-аута на уровне пользователя для QP (ссылка Руководство по программированию), Следующая конфигурация атрибута QP: attr->timeout, Свойства соединения

Различайте тайм-аут пользователя (больше) и тайм-аут оборудования (ADAPTIVE_TIMER меньше тайм-аута пользователя).

(2) 2k данных делятся на 2 PSN. Запрашивающая сторона не ожидает подтверждения. Все сообщение передается повторно после таймаута.

(3) 3 PSN, PSN2 потерян, срабатывает OOS_NACK и теряется NACK, аналогично 2, все сообщение передается повторно после таймаута

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

3. Счетчик, roce_adp_retrans(hw), local_ack_timeot_err(sw,hw)

4. Формула расчета таймаута в спецификации IB гарантированно составляет не менее 4,096 мкс (микросекунд) с помощью экспоненциальной функции. Этот алгоритм также используется для таймаута установления соединения CM.

Основа для настройки адаптивного тайм-аута (аппаратная реализация, начиная с небольшого значения, в сочетании с временем RTT, динамически настраивается, идеальный тайм-аут — это время RTT)

1. Каждый QP добавляет контекстную информацию, обработку аппаратных событий, обработку событий NACK, каждый QP отличается (неглобальная конфигурация).

2. Программное обеспечение не видит ACK и NACK, только CQE.

3. Каждый QP имеет свой RTT, поэтому время ожидания близко к RTT (идеальный эффект сети). RTT каждого QP также меняется динамически в зависимости от того, входить в очередь или нет.

4. В частности, эта функция лучше подходит для чтения RDMA.

Следующие функции поддерживаются в CX-6 DX

Выборочная повторная передача (для улучшения использования полосы пропускания: чем меньше QP, тем очевиднее эффект; в зависимости от количества ожидающих PSN на QP, чем больше, тем лучше эффект)

Отправителю необходимо только повторно передать потерянные пакеты, а получатель поддерживает реорганизацию вне порядка.

1. Потеря пакетов слева, как с этим справляется GO-BACK-N, переотправить 5, 6, 7, 8

2. Как показано справа, нажмите, куда укажете, например, чтобы повторить передачу 4.

3. Снизить затраты на ретрансляцию, То есть уменьшить часть из-за обратной передачи, outstanding Чем больше ПСН, Чем лучше эффект, нравиться: Лучше для одного QP

4. При наличии нескольких QP, например 100 QP, чем тоньше распределение, использование полосы пропускания gobackn не сильно отличается от использования selective_repeat.

5. Слишком много QP склонны к потерям кэша, и общая скорость не может достичь хороших результатов при настройке dcqcn. Более подходящими являются 100 ~ 2K QP. В целом значение находится в пределах 1 Вт.

6. DCQCN предъявляет определенные требования к количеству QP.

7. В зависимости от версии прошивки и аппаратной версии cx4/5 может поддерживать 6 тыс. QP (T+R) на узел.

8. В основном запускается NACK

Предотвращение пакетных широковещательных сообщений приемника (в основном используемых в сценариях хранения) может быть реализовано в cx7, и эта функция также может быть реализована в программном промежуточном программном обеспечении, таком как UCX.

Разрезайте запросы на чтение на более мелкие части, чтобы избежать конфликтов параллелизма с памятью на коммутаторе.

1. Для хранилища 2 инициатора, 1 тгт (аппаратный уровень и программный уровень)

2. Запишите 1 ГБ данных соответственно и измените их на чтение RDMA (инициатор чтения tgt)

3. A и B отправляют данные в TGT одновременно, вызывая перегрузку коммутатора (INCAST в выходном буфере коммутатора), поскольку AB не знает другую сторону. В это время TGT может использоваться для координации и управления.

4. После включения этой функции нравиться: TGT делит 1 ГБ на несколько операций чтения по 8 КБ, Подобно оконному механизму, TGT использует 8K в качестве оконного блока для перемещения элемента управления. Реализуйте эту функцию аппаратно.

Рекомендации по настройке с потерями

1. cx5 начинает поддерживать, открывать 4 вида конфигураций с потерями

2. В последней версии улучшена поддержка.

3. Откройте DCQCN.

4. Другая функция зависит от того, включен бизнес или нет.

5. Справа пример конфигурации (просмотр и настройка сетевой карты)

команды конфигурации cx6DX

С потерями, RDMA и другие сценарии применения (облачное хранилище)

1. Общий диск между DC, большое расстояние, сегментация кластера, подкластер, до 100 узлов, раздельное управление, RDMA между хранилищем, меньше RDMA между виртуальными машинами.

2. Коммутаторы сценариев HPC используют изоляцию ACL, контейнеры наложения RoCE подходят для инкапсуляции RDMA PF, а RDMA подходит для «голого железа».

3. OVS, TC, offload, fw

4. Тест производительности, трехуровневый коммутатор, 9 узлов, до 100ГБ, ib_read_bw, A2A, Duodaduo, еще один M2O

Варианты конфигурации (предусмотрены следующие 4 варианта конфигурации)

1. ZTR: отмените настройки PFC и ECN на всех коммутаторах и узлах и включите все алгоритмы с потерями на сетевой карте.

Типы услуг RC и DC

1. Надежное соединение типа передачи RC: надежное, сохранение порядка сообщений, подтверждение и повторная передача через ACK.

2. Динамическое соединение DC: поддерживается начиная с cx5, временное надежное соединение, сохранение порядка, механизм ACK.

DC QP можно использовать повторно

3. Сравниватьнравиться: Сервер 0 подключен к N другим серверам, Каждый серверный узел имеет P процессоров

Используя RC, сервер 0 создаст N*P QP.

При использовании DC на сервере 0 необходимы только P DCI, несколько QP используются повторно.

Устранение неполадок и отладка

ссылка

Nvidia RoCE: https://docs.nvidia.com/networking/pages/viewpage.action?pageId=12013422

Что такое RDMA Что такое RDMA

https://enterprise-support.nvidia.com/s/article/What-is-RDMA

Спецификация IB, том 1: Дополнение к спецификации архитектуры InfiniBandTM, том 1, выпуск 1.2.1 — Приложение 17: RoCEv2

https://cw.infinibandta.org/document/dl/7781

Решения RDMA/RoCE

https://enterprise-support.nvidia.com/s/article/rdma-roce-solutions

Общие сведения о настройке QoS для RoCE Понимание качества обслуживания

https://enterprise-support.nvidia.com/s/article/understanding-qos-configuration-for-roce

mlnx_qos Manual

https://enterprise-support.nvidia.com/s/article/mlnx-qos

Общие сведения об управлении перегрузкой RoCEv2

https://enterprise-support.nvidia.com/s/article/understanding-rocev2-congestion-management

DCQCN Алгоритм управления перегрузкой Алгоритм управления потоком

https://enterprise-support.nvidia.com/s/article/DCQCN-CC-algorithm

ECN/DCQCN parameters introduction

https://enterprise-support.nvidia.com/s/article/dcqcn-parameters

Enable/Disable Lossy RoCE Accelerations

https://enterprise-support.nvidia.com/s/article/How-to-Enable-Disable-Lossy-RoCE-Accelerations

Общие сведения о счетчиках MLX5 Ethtool

https://enterprise-support.nvidia.com/s/article/understanding-mlx5-ethtool-counters

Understanding MLX5 Linux Counters and Status Parameters

https://enterprise-support.nvidia.com/s/article/understanding-mlx5-linux-counters-and-status-parameters

Дамп трафика RDMA с помощью захвата пакетов tcpdump

https://enterprise-support.nvidia.com/s/article/how-to-dump-rdma-traffic-using-the-inbox-tcpdump-tool--

connectx-4-x

RoCE Debug Flow

https://enterprise-support.nvidia.com/s/article/RoCE-Debug-Flow-for-Linux

Пример программирования кода RDMA

[basic rdma pingpong] https://github.com/linux-rdma/rdma-core/tree/master/libibverbs/examples

[performance benchmarks] https://github.com/linux-rdma/perftest

[latency test] https://github.com/michaelbe2/rdma_samples/tree/master/rc_write_latency

[incast flow control] https://github.com/michaelbe2/rdma_fc

Интеллектуальная сеть Nebula — объясните это простыми словами, чтобы помочь вам понять основу, принципы и реализацию RDMA (Часть 2): https://zhuanlan.zhihu.com/p/596726493

Управление потоком RDMA(6): позвольте данным течь как весенний ветерок и защитите передачу данных (серия RDMA): https://mp.weixin.qq.com/s/BjV5U7URuRQbQP_q0-j_Ng

Что такое интеллектуальная сеть без потерь: https://mp.weixin.qq.com/s/bQZSepgoDRUFlTgLRqiOEQ

Сеть, терпимая к потерям, и сеть без потерь, обсудим две идеи сети RDMA: https://www.cnblogs.com/longbowchi/p/14802046.html

Прочтите RoCE в одной статье: https://cloud.tencent.com/developer/article/2084218

Сяобин

блог: https://logread.cn | https://blog.csdn.net/ssbandjl | https://cloud.tencent.com/developer/user/5060293/articles

Краткое описание технологии DAOS: https://cloud.tencent.com/developer/article/2344030

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose