Цифров двойник на AI фабрика: DSX и OpenUSD
Omniverse DSX Blueprint на NVIDIA е пример за цифров двойник на AI фабрика с гигаватов мащаб: триизмерна сцена, симулация на топлина и ток, табла. Той изисква видеокарта RTX Pro 6000 Blackwell и не е за GX10. Затова урокът прави две неща: обяснява какво е двойникът и какво иска DSX — и ти показва как да направиш свой малък двойник на стая със сървъри в текстов USD файл и да смяташ мощността, топлината и PUE с обикновен Python.
docker/nucleus.yml с адрес localhost:3009; пакетите dsx.configurator, dsx.simulation и dsx.agent с готови програмни извиквания (не ги намерихме в документацията); мощност „700 W за GB10“; „40–100 kW на стелаж“ и „PUE под 1,2 е отличен“ без източник. Добавихме: какво наистина е DSX, ролите около него и изискванията му; факта, че pip install usd-core няма версия за Linux с Arm; малък двойник на стая със сървъри в текстов файл със сметка за мощност, топлина и PUE; правилото двойникът да се сверява с измерване. Скриптът е пускан на обикновена Linux машина (не на GB10), а файлът е прочетен обратно с usd-core 26.8.01Какво ще научиш
- Какво е цифров двойник и какво добавя към него блупринтът DSX.
- От какво се състои DSX и кои специалисти работят с него.
- Какво изисква и защо не е за GX10.
- Какво е OpenUSD — и защо
pip install usd-coreне върви на Linux с Arm. - Как да направиш малък двойник на стая със сървъри в текстов файл.
- Как се смятат топлинен товар, PUE и годишна енергия — и докъде стига такава сметка.
02Преди да започнеш
- Python 3. Скриптът ползва само стандартната библиотека — нищо за инсталиране.
- По желание: компютър с
usd-coreили програма за преглед на USD файлове, за да отвориш получения файл. - Данните от листа на производителя за твоите устройства (електрическа мощност) и климатика (хладилна мощност). Числата в урока са измислени.
| Изискване на DSX (по документацията) | Стойност |
|---|---|
| Видеокарта | NVIDIA RTX Pro 6000 Blackwell |
| Драйвер | 570.169 или по-нов |
| Памет и диск | 64 GB DDR5; 1 TB NVMe (20 GB+ свободни) |
| Система | Windows 10/11 или Ubuntu 22.04/24.04 (Ubuntu 25.04 не е съвместима) |
| Софтуер | Git, Git LFS, Node.js 20+, build-essential (Linux); препоръчани Docker и NVIDIA Container Toolkit (Linux) |
| Особености | Windows: изключи хардуерно ускореното планиране на GPU. Linux: изключи IOMMU. Браузърът иска WebGL2 с хардуерно ускорение. |
| Агентът с ИИ (по желание) | Иска API ключ от build.nvidia.com; без него останалото работи. Заявките напускат машината — не изпращай поверителни данни. |
03Стъпки
-
Какво е цифров двойник и какво е DSX
Цифров двойник е модел на реален обект, който държи неговите данни (размери, мощности, връзки) на едно място и може да се използва за „а какво ако“ преди да купиш или преместиш нещо. DSX Blueprint на NVIDIA е пример как се прави това за AI фабрика — огромен център с изчислителна мощност. Според документацията хранилището му съдържа:
- Геометрия на еталонен проект за площадка от 50 акра, със сграда за изчисления и поддържаща инфраструктура.
- Уеб приложение за разглеждане на двойника, симулации и запазване на конфигурации.
- Готови за симулация обекти: данни от изчислителна флуидна динамика за „топъл коридор“, примерни конфигурации (GB200 и GB300 NVL72) и симулация на електрическото натоварване.
Около него работят различни специалисти: инженери-проектанти, мрежови администратори (NVIDIA Air), машинни инженери (инструменти на Cadence), електроинженери (ETAP), рецензенти, които гледат през поточно предаване, и инженери по ИИ. Документацията подчертава: това е пример, не готово за производство приложение.
-
Защо не е за GX10
Таблицата в „Преди да започнеш“ е ясна: нужна е RTX Pro 6000 Blackwell и 64 GB DDR5. Нашата машина има вградена видеокарта с обща памет и Arm процесор — тя не е в списъка. Не казваме, че „не може никога“ — казваме, че документацията не я включва и ние не сме го пускали. Ако ти трябва DSX, работи на машина от списъка.
💡Какво е „гигаватов мащаб“Блупринтът е за огромни центрове. Една стая с няколко сървъра е друга задача — за нея не ти трябва DSX, трябват ти размерите, мощностите и малко аритметика. Точно това правим по-долу. -
OpenUSD накратко — и една пречка на Arm
OpenUSD (Universal Scene Description) е формат за описание на сцени: обекти, положения, свойства, слоеве. Има текстов вариант
.usda, който можеш да четеш и пишеш с обикновен редактор. Два реда в началото му казват мерната единица (metersPerUnit) и посоката „нагоре“ (upAxis).Пречката: към 03.10.2026 пакетът
usd-coreв PyPI (версия 26.8) има готови колела за Windows, macOS и Linux с x86-64, но няма за Linux с Arm (aarch64) — какъвто е GB10. Значиpip install usd-coreна GX10 няма да мине. Възможностите са: да го компилираш от изходния код (не е пускано), да ползваш друг компютър — или, както правим тук, да напишеш текстовия файл с обикновен Python и да го прегледаш другаде. -
Малкият двойник: стая със сървъри в .usda
Скриптът описва стая и четири устройства. Всяко устройство е възел с положение и собствено свойство
twin:it_watts— електрическата му мощност. Така данните живеят в сцената, а не в отделна таблица. Кубчетоbodyот 20 см е само заместител на размера; истински модел се вмъква от файл на проектанта. Числата са измислени (240 W на сървър, 60 W на комутатор) — замени ги.python · room_twin.py (част 1)# Малък "двойник" на стая със сървъри: сцена във формат USDA (текст) + сметка за мощност. # Числата по-долу са ПРИМЕРНИ — замени ги с данните от листа на производителя и с твоите измервания. DEVICES = [ # име, X в метри, Z в метри, електрическа мощност във ватове ("server_01", 0.0, 0.0, 240.0), ("server_02", 0.8, 0.0, 240.0), ("server_03", 1.6, 0.0, 240.0), ("switch_01", 2.4, 0.0, 60.0), ] ROOM_W, ROOM_D, ROOM_H = 4.0, 3.0, 2.6 # метри PUE = 1.5 # общо потребление на обекта / потребление на ИТ оборудването (допускане) AC_COOLING_KW = 2.0 # ТВОЯТ климатик: хладилна мощност в kW (от листа му) EUR_PER_KWH = 0.20 # ПРИМЕРНА цена; сложи твоята, с ДДС def write_usda(path): out = ['#usda 1.0', '(', ' defaultPrim = "Room"', ' metersPerUnit = 1', ' upAxis = "Y"', ')', '', 'def Xform "Room"', '{', f' custom double twin:width_m = {ROOM_W}', f' custom double twin:depth_m = {ROOM_D}', f' custom double twin:height_m = {ROOM_H}'] for name, x, z, watts in DEVICES: out += [f' def Xform "{name}"', ' {', f' double3 xformOp:translate = ({x}, 0.1, {z})', ' uniform token[] xformOpOrder = ["xformOp:translate"]', f' custom double twin:it_watts = {watts}', ' def Cube "body"', ' {', ' double size = 0.2', ' }', ' }'] out += ['}', ''] with open(path, "w", encoding="utf-8") as f: f.write("\n".join(out))Резултатът е обикновен текст — започва така (виж и целия файл в редактор):
room.usda · началото#usda 1.0 ( defaultPrim = "Room" metersPerUnit = 1 upAxis = "Y" ) def Xform "Room" { custom double twin:width_m = 4.0 custom double twin:depth_m = 3.0 custom double twin:height_m = 2.6 def Xform "server_01" { double3 xformOp:translate = (0.0, 0.1, 0.0) uniform token[] xformOpOrder = ["xformOp:translate"] custom double twin:it_watts = 240.0 -
Сметка: топлина, PUE, енергия
Какво смятаме и защо: почти цялата електрическа мощност на ИТ оборудването се превръща в топлина, която климатикът трябва да изведе (1 kW = 3412,14 BTU/ч). PUE е общото потребление на обекта, делено на потреблението на ИТ оборудването; при допускане PUE = 1,5 обектът ползва 1,5 пъти повече от самото оборудване. Годишната енергия е мощност × 8760 часа. Проверката „климатикът стига ли“ е груба: не смята хора, осветление, слънце, загуби в захранванията, резерв и отваряне на врата.
python · room_twin.py (част 2)def budget(): it_kw = sum(d[3] for d in DEVICES) / 1000 heat_kw = it_kw # цялата ел. мощност на ИТ оборудването става топлина total_kw = it_kw * PUE return {"it_kw": round(it_kw, 3), "heat_kw": round(heat_kw, 3), "heat_btu_h": round(heat_kw * 3412.14), "total_kw": round(total_kw, 3), "cooling_ok": heat_kw <= AC_COOLING_KW, "kwh_year": round(total_kw * 8760), "eur_year": round(total_kw * 8760 * EUR_PER_KWH, 2)} if __name__ == "__main__": write_usda("room.usda") print(budget())bashpython3 room_twin.pyС измислените числа така изглежда изходът (пускан на обикновена Linux машина):
изход{'it_kw': 0.78, 'heat_kw': 0.78, 'heat_btu_h': 2661, 'total_kw': 1.17, 'cooling_ok': True, 'kwh_year': 10249, 'eur_year': 2049.84}Прочети го така: 4 устройства по 240 + 240 + 240 + 60 = 780 W = 0,78 kW; 0,78 × 1,5 = 1,17 kW общо; 1,17 × 8760 ≈ 10 249 kWh на година; при примерна цена 0,20 EUR/kWh — около 2 050 EUR. Това са примерни числа, не прогноза.
-
Прочети сцената обратно (по желание)
На компютър с
usd-core(не на GX10) можеш да докажеш, че данните наистина живеят в сцената. Така го проверихме с usd-core 26.8 на x86-64 Linux — получихме 780,0 вата:python · на машина с usd-corefrom pxr import Usd stage = Usd.Stage.Open("room.usda") total = sum(p.GetAttribute("twin:it_watts").Get() for p in stage.Traverse() if p.HasAttribute("twin:it_watts")) print("общо вата:", total) -
Какво би добавил DSX — и защо двойникът трябва да се сверява
Нашият малък двойник е опис с аритметика. DSX добавя неща, които не се правят с десет реда: симулация на въздушните потоци (CFD), електрическо натоварване, мрежов модел, поточно предаване на сцената. Те ползват специалисти и професионални инструменти.
✅Двойникът е модел — сверявай го с измерванеВключи ватметър на реалната линия и запиши мощността за една седмица; сложи температурен датчик на входа на оборудването. Ако числата в двойника и в измерването се разминават, поправи допусканията (PUE, мощностите), не измерването. Модел без сверяване е само предположение.⚠️Не е инженерен проектОхлаждането и електрическата инсталация на помещение за сървъри са работа на правоспособни специалисти. Този урок учи на мислене и аритметика, не замества проект.
04Проверка
- Можеш да кажеш каква видеокарта и система иска DSX и защо GB10 не е покрит.
room.usdaе създаден и се отваря в програма за USD или сpxr.- Сборът на ватовете във файла съвпада с „ИТ мощност“ от сметката.
- Заместил си измислените числа с данни от листа на производителя и с измервания.
- Можеш да назовеш какво добавя DSX: CFD, електрическа симулация, мрежов модел, поточно предаване.
Тест
1. Каква видеокарта изисква DSX по документацията?
2. Защо pip install usd-core не върви на GX10?
3. Какво е PUE?
4. Какво е нужно, за да вярваш на числата от двойника?
05Какво следва
06Източници
- NVIDIA Omniverse DSX Blueprint (build.nvidia.com) — страницата на блупринта (03.10.2026). 🌐 глобален
- DSX: преглед · DSX: изисквания — съдържание, роли, системни изисквания (страниците са обновени на 02.10.2026).
- Хранилището на блупринта — README; не е пускано от нас.
- usd-core в PyPI — списък на файловете на версия 26.8 (без Linux aarch64).
- OpenUSD: документация — формат, слоеве,
.usda. - ⚠️ Определението на PUE и преобразуването 1 kW = 3412,14 BTU/ч са общоприети; при тази проверка не сме четели стандарта (ISO/IEC 30134-2). Провери го, ако числата влизат в договор.