Знакът на КАГАМИ КАГАМИ
kagami.bg/academy · lesson · machine-readable viewUPDATED 2026-10-03 · NOT VERIFIED END TO END
IDENTITY
module
GX10-04-98 · AI factory digital twin: what Omniverse DSX is, what it needs, and a small room twin with OpenUSD text and Python
series
GX10 (local AI server class: NVIDIA GB10, e.g. ASUS Ascent GX10 / DGX Spark)
level
Intermediate
duration
2 h
prerequisites
Python 3 (standard library only); optional: a computer with usd-core or a USD viewer to open the generated file
trust_label
UPDATED 2026-10-03 (checked against the NVIDIA DSX blueprint page, DSX documentation overview and prerequisites last updated 2026-10-02, the blueprint repository README, and the usd-core file list on PyPI) · script run on an x86-64 Linux machine, output file read back with usd-core 26.8 · DSX blueprint NOT run (no RTX Pro 6000 Blackwell available) · NOT TESTED on GB10
safety
Teaching numbers are invented placeholders; replace them with manufacturer data and measurements. A model is only as good as its comparison with measurement.
versions
usd-core 26.8 on PyPI (2026-10-03): wheels for Windows, macOS and Linux x86-64; no Linux aarch64 wheel
language
human view: bg · english edition: /en/academy/gx10/ (same file name)
previous / next
04-97_Streaming_Data_RAG.html / series index
PURPOSE

Explain what the NVIDIA Omniverse DSX Blueprint for AI Factory Digital Twins is, state its documented prerequisites honestly (RTX Pro 6000 Blackwell, driver 570.169, 64 GB DDR5 RAM, 1 TB NVMe, Windows 10/11 or Ubuntu 22.04/24.04; a GB10 machine is not listed), and teach a small hands-on alternative that does run anywhere: a text OpenUSD (.usda) scene of a server room whose devices carry their electrical power as custom attributes, plus a plain-Python power, heat, PUE and yearly energy budget computed from the same data.

KEY CONCEPTS
COMMANDS / PATHS
CHECKLIST
NEXT MODULE

GX10 series index: kagami.bg/academy/gx10/ · related: 04-219_Kakvo_Tezhi_na_GX10.html

SOURCES
TAGS
gx10nvidia-gb10digital-twinomniverse-dsxopenusdpower-budgetpuepython
ОБНОВЕНО · 03.10.2026

Цифров двойник на AI фабрика: DSX и OpenUSD

Omniverse DSX Blueprint на NVIDIA е пример за цифров двойник на AI фабрика с гигаватов мащаб: триизмерна сцена, симулация на топлина и ток, табла. Той изисква видеокарта RTX Pro 6000 Blackwell и не е за GX10. Затова урокът прави две неща: обяснява какво е двойникът и какво иска DSX — и ти показва как да направиш свой малък двойник на стая със сървъри в текстов USD файл и да смяташ мощността, топлината и PUE с обикновен Python.

⏱ 2 ч Средно GX10 OpenUSD · Python Мощност · топлина · PUE
Python (стандартна библиотека)🔒 локално OpenUSD (текстов .usda файл)🔒 локално DSX · агентът му с API ключ🌐 глобален
⚠️
DSX не е за GX10
Документацията на DSX (към 03.10.2026) изисква NVIDIA RTX Pro 6000 Blackwell, драйвер 570.169, 64 GB памет DDR5 и диск 1 TB NVMe, с Windows 10/11 или Ubuntu 22.04/24.04. Машина от класа GB10 (Arm процесор, вградена видеокарта, обща памет) не е в списъка и ние не сме го пускали. Старата версия на този урок твърдеше обратното — това беше грешка.
🔄
ОБНОВЕНО · 03.10.2026 — какво
Урокът е написан наново. Махнахме: твърдението, че GX10 „хоства DSX“ с „около 40 GB“; приложението „планиране на разширение на нашата стая с GX10“ с таблица за 4 машини и 100 GbE; инсталацията през „Omniverse Launcher“ и 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.
⚠️
Какво не сме пускали сами
Нямахме машина от класа GB10 и видеокарта RTX Pro 6000. Не сме пускали самия DSX блупринт. Нашият малък двойник е само модел на данни и аритметика — не симулира въздух и топлина. Всички числа в примера са измислени; замени ги с данните от листа на производителя и с твои измервания.

01Какво ще научиш

02Преди да започнеш

Изискване на 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Стъпки

  1. Какво е цифров двойник и какво е DSX

    Цифров двойник е модел на реален обект, който държи неговите данни (размери, мощности, връзки) на едно място и може да се използва за „а какво ако“ преди да купиш или преместиш нещо. DSX Blueprint на NVIDIA е пример как се прави това за AI фабрика — огромен център с изчислителна мощност. Според документацията хранилището му съдържа:

    • Геометрия на еталонен проект за площадка от 50 акра, със сграда за изчисления и поддържаща инфраструктура.
    • Уеб приложение за разглеждане на двойника, симулации и запазване на конфигурации.
    • Готови за симулация обекти: данни от изчислителна флуидна динамика за „топъл коридор“, примерни конфигурации (GB200 и GB300 NVL72) и симулация на електрическото натоварване.

    Около него работят различни специалисти: инженери-проектанти, мрежови администратори (NVIDIA Air), машинни инженери (инструменти на Cadence), електроинженери (ETAP), рецензенти, които гледат през поточно предаване, и инженери по ИИ. Документацията подчертава: това е пример, не готово за производство приложение.

  2. Защо не е за GX10

    Таблицата в „Преди да започнеш“ е ясна: нужна е RTX Pro 6000 Blackwell и 64 GB DDR5. Нашата машина има вградена видеокарта с обща памет и Arm процесор — тя не е в списъка. Не казваме, че „не може никога“ — казваме, че документацията не я включва и ние не сме го пускали. Ако ти трябва DSX, работи на машина от списъка.

    💡
    Какво е „гигаватов мащаб“
    Блупринтът е за огромни центрове. Една стая с няколко сървъра е друга задача — за нея не ти трябва DSX, трябват ти размерите, мощностите и малко аритметика. Точно това правим по-долу.
  3. 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 и да го прегледаш другаде.

  4. Малкият двойник: стая със сървъри в .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
  5. Сметка: топлина, 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())
    bash
    python3 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. Това са примерни числа, не прогноза.

  6. Прочети сцената обратно (по желание)

    На компютър с usd-core (не на GX10) можеш да докажеш, че данните наистина живеят в сцената. Така го проверихме с usd-core 26.8 на x86-64 Linux — получихме 780,0 вата:

    python · на машина с usd-core
    from 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)
  7. Какво би добавил DSX — и защо двойникът трябва да се сверява

    Нашият малък двойник е опис с аритметика. DSX добавя неща, които не се правят с десет реда: симулация на въздушните потоци (CFD), електрическо натоварване, мрежов модел, поточно предаване на сцената. Те ползват специалисти и професионални инструменти.

    ✅
    Двойникът е модел — сверявай го с измерване
    Включи ватметър на реалната линия и запиши мощността за една седмица; сложи температурен датчик на входа на оборудването. Ако числата в двойника и в измерването се разминават, поправи допусканията (PUE, мощностите), не измерването. Модел без сверяване е само предположение.
    ⚠️
    Не е инженерен проект
    Охлаждането и електрическата инсталация на помещение за сървъри са работа на правоспособни специалисти. Този урок учи на мислене и аритметика, не замества проект.

04Проверка

Тест

1. Каква видеокарта изисква DSX по документацията?

2. Защо pip install usd-core не върви на GX10?

3. Какво е PUE?

4. Какво е нужно, за да вярваш на числата от двойника?

05Какво следва

06Източници

  1. NVIDIA Omniverse DSX Blueprint (build.nvidia.com) — страницата на блупринта (03.10.2026). 🌐 глобален
  2. DSX: преглед · DSX: изисквания — съдържание, роли, системни изисквания (страниците са обновени на 02.10.2026).
  3. Хранилището на блупринта — README; не е пускано от нас.
  4. usd-core в PyPI — списък на файловете на версия 26.8 (без Linux aarch64).
  5. OpenUSD: документация — формат, слоеве, .usda.
  6. ⚠️ Определението на PUE и преобразуването 1 kW = 3412,14 BTU/ч са общоприети; при тази проверка не сме четели стандарта (ISO/IEC 30134-2). Провери го, ако числата влизат в договор.