FMI 3 Simulation Runtime in Rust | Dweve FMI
Dweve FMI is an Apache-2.0 FMI 3 runtime in Rust for Model Exchange, Co-Simulation and Scheduled Execution. Publishing in the tenth release round.
Dweve FMI uwidacznia dryf platformy w symulacji. Profile arytmetyki stałoprzecinkowej i kontrole po stronie backendu sprawiają, że różnice są widoczne, zanim trafią do przypadku bezpieczeństwa.
Biblioteka arytmetyki stałoprzecinkowej zapewniająca determinizm FMI.
Deterministyczny silnik pobierania plików binarnych.
Infrastruktura dowodów kryptograficznych dla rozumowania AI.
Uruchom tłumiony oscylator na dwóch obsługiwanych celach i porównaj wyniki. Kontrole referencyjne ujawniają wszelkie rozbieżności, zanim trafią do przypadku bezpieczeństwa.
Deterministyczna symulacja, zweryfikowana
Dwa pytania decydują o zakupie: gdzie to działa i kto kontroluje dowody. Dweve FMI działa na sprzęcie, który już posiadasz, on premise lub w regionie europejskim, a model i zapis walidacji pozostają w granicach, które wybierasz.
Twierdzenie o bezpieczeństwie potrzebuje czegoś więcej niż obietnicy. Przejrzyj kontrakt wynikowy, macierz obsługiwanych celów oraz metodę walidacji opartą na MPFR; następnie uruchom ten sam przykład na dwóch maszynach i porównaj wyniki, zanim zdecydujesz, gdzie należy FMI.
Brak czasu straconego na uzgadnianie wyników
Jeden zadeklarowany rekord bezpieczeństwa
Powód, dla którego warto się tym zainteresować, jest operacyjny, a nie techniczny. Porównując tę samą symulację w ramach jednego zadeklarowanego kontraktu na każdej maszynie, widzisz, gdzie cel się różni, zanim zamkniesz przypadek bezpieczeństwa. Zespoły nie muszą już po cichu uzgadniać różnic. Praca działa na sprzęcie, który już posiadasz, a przejście na nowy sprzęt ma jasną ścieżkę walidacji.
Jeden dostawca, jedna mapa drogowa, jedna cena, której nie ustalasz.
Nowy układ lub region restartuje walidację w całym portfolio.
Zespoły spierają się, czyja maszyna wyprodukowała właściwy wynik.
Każda platforma potrzebuje własnego przypadku bezpieczeństwa, ponieważ liczby mogą się różnić.
Argument za zmianą najłatwiej zobaczyć w zestawieniu. Po jednej stronie symulacja, która różni się w zależności od platformy: przypadek bezpieczeństwa ponownie walidowany dla każdej maszyny, zespoły uzgadniające liczby, które powinny już się zgadzać, oraz ponowna walidacja za każdym razem, gdy zmienia się sprzęt. Po drugiej stronie wyniki porównywane w ramach jednego zadeklarowanego kontraktu, więc dowody pokazują, gdzie wdrożenie się różni. Różnica jest operacyjna, a nie techniczna.
Usuń środowisko uruchomieniowe; model i dowody pozostają
Jeden wielokrotnego użytku rekord bezpieczeństwa
Model symulacyjny powinien uwidocznić każdą różnicę zależną od sprzętu. Dweve FMI definiuje jeden kontrakt wynikowy dla obsługiwanych celów, sprawdza każdy backend względem wyroczni MPFR i pozwala, aby jeden rekord walidacji podróżował z modelem.
Zaprojektowane i przetestowane w Europie
To zrozumiałe, że zastanawiasz się, czy coś takiego jest dla Ciebie do ogarnięcia. Nie jest. Inżynierowie uruchamiają to w tle, gdzie porównuje symulacje bezpieczeństwa na różnych maszynach i uwidacznia różnice.
Jeden rekord walidacji podąża za modelem
Wielokrotnego użytku argument bezpieczeństwa
Kontrola oparta na MPFR wykrywa rozbieżności przed użyciem
Nie musisz rozumieć, jak to działa, aby cieszyć się tym, co daje. Pomyśl o tym jak o czystej wodzie czy dobrych drogach. Nigdy nie widzisz pracy, ale Twój dzień jest lepszy, bo ktoś zrobił ją dobrze. Oto cztery proste powody, dla których to ma znaczenie.
Oto sedno, pokazane prosto. Ten sam test bezpieczeństwa działa na dwóch różnych komputerach. Na zwykłych komputerach dwie odpowiedzi mogą się nieco różnić. Dzięki temu porównanie uwidacznia każdą różnicę. Przełącz przełącznik i obserwuj, co się zmienia. To porównanie jest całym sednem.
Roboty, które bezpiecznie pracują obok ludzi.
Stabilna moc, testowana przed instalacją.
Dokładnie sprawdzane, zanim trafią do pacjenta.
Testowane tysiące razy najpierw na komputerze.
Nigdy tego nie użyjesz, ale używasz rzeczy, które to pomaga chronić każdego dnia. Samochód, pompa medyczna, prąd w domu, maszyny w fabryce. Każda z nich jest testowana na komputerze przed zbudowaniem, a to jest część, która uwidacznia różnice między platformami docelowymi. Dotknij obrazek, aby zobaczyć, dlaczego to ma znaczenie dla każdej z nich.
Ostrożny pomocnik do testów bezpieczeństwa
Nigdy tego sam nie użyjesz. Ale to małe, ostrożne narzędzie pomaga utrzymać bezpieczeństwo samochodów, samolotów i urządzeń medycznych. Oto cała idea, krok po kroku, z codziennym przykładem dla każdego.
Inżynier symulacji tworzy i uruchamia FMU na swojej stacji roboczej. Ten sam FMU można porównać na klastrze do przeszukiwania parametrów. Można go również użyć na obudowie FPGA do scenariuszy sprzętu w pętli, gdzie budżet opóźnień jest trudny. Kontrakt odtworzenia obowiązuje we wszystkich trzech.
Napisany w Rust na bazie arytmetycznej Numerus, FMI wykorzystuje ścieżki stałoprzecinkowe z kontrolą referencyjną MPFR i obsługuje Model Exchange, Co-Simulation oraz Scheduled Execution w pięciu backendach.
Tradycyjny FMI może się różnić w zależności od platformy, ponieważ opiera się na arytmetyce zmiennoprzecinkowej. Dweve FMI wykorzystuje ścieżkę arytmetyki stałoprzecinkowej z kontrolą referencyjną MPFR. Model symulacyjny i przypadek bezpieczeństwa pozostają jawne, a ten sam archiwum FMU można porównywać na stacji roboczej, klastrze i FPGA. Wybór wdrożenia jest operacyjny, a nie numeryczny.
Zachowaj model i przypadek bezpieczeństwa
Masa i energia chemiczna, ko-symulacja PLC.
Kinematyka, trajektoria, fuzja czujników.
Walidacja praw sterowania, pilot w pętli.
Silnik, skrzynia biegów, hamulce, zawieszenie.
Dweve FMI obsługuje dziedziny, w których wyniki symulacji wpływają na projekty i decyzje. Motoryzacja, lotnictwo, urządzenia medyczne, energetyka, robotyka, sterowanie przemysłowe i cyfrowe bliźniaki wymagają dowodów, że wyniki symulacji są powtarzalne, śledzalne i kontrolowane dla każdej platformy docelowej.
Poprawnie zaokrąglona arytmetyka stałoprzecinkowa
Dweve FMI integruje się z istniejącymi łańcuchami narzędziowymi poprzez import i eksport FMU, orkiestrację wielu modeli oraz mostkowanie cyfrowych bliźniaków. Importuj FMU z dowolnego narzędzia zgodnego z FMI 3.0 z automatyczną konwersją z liczby zmiennoprzecinkowej na stałoprzecinkową. Eksportuj FMU dla narzędzi downstream wymagających arytmetyki zmiennoprzecinkowej.
Przekroczenie tolerancji zatrzymuje przebieg z typowanym błędem i nazwanym równaniem.
Zarejestrowany przebieg jest odtwarzany z dziennika zdarzeń przez most Twin.
Ten sam FMU na CPU, GPU, FPGA i brzegu sieci. Porównywane wektory wyjściowe.
Operacje stałoprzecinkowe sprawdzane względem referencji MPFR.
Kontrola numeryczna wykorzystuje podłogę arytmetyczną Numerus i referencję MPFR. Porównanie między backendami uruchamia ten sam FMU na każdym celu i rejestruje wszelkie różnice w wyjściu. Deterministyczne odtwarzanie rekonstruuje zarejestrowany przebieg z dziennika zdarzeń, a tryby awarii są głośne, a nie ciche.
To samo deterministyczne jądro działa na CPU stacji roboczej, GPU, sprzęcie FPGA, wbudowanym urządzeniu brzegowym i rozproszonych węzłach. Wyniki można porównywać zgodnie z deklarowanym kontraktem, więc wybór wdrożenia jest operacyjny, a nie numeryczny.
Prawda podstawowa MPFR, używana tylko do weryfikacji.
6 cyfr dziesiętnych, scenariusze bankowe i rozliczeniowe.
32 bity ułamkowe, profil domyślny, pełna precyzja.
16 bitów ułamkowych, wąskie zakresy, przyjazny dla baterii.
Q31.32 pokrywa większość potrzeb symulacyjnych. Q16.16 pasuje do celów wbudowanych i brzegowych. Dec64_6 pokrywa specyficzną księgowość dziesiętną. Wszystkie trzy opierają się na bazie arytmetycznej Numerus, gdzie każda operacja jest poprawnie zaokrąglana i weryfikowana względem referencyjnej biblioteki matematycznej MPFR.
Nowy chip lub chmura oznacza ponowną walidację całego portfela.
Funkcja trygonometryczna w jednej bibliotece może się nieznacznie różnić od tej w innej.
Optymalizacja kompilatora zmienia kolejność operacji zmiennoprzecinkowych; wyniki się przesuwają.
Stacja robocza, CI, certyfikacja: porównaj docelowe platformy i zapisz różnice w przypadku bezpieczeństwa.
Functional Mock-up Interface to standard branżowy wymiany modeli i ko-symulacji. Jest używany w dziedzinach krytycznych dla bezpieczeństwa, gdzie wyniki symulacji wpływają na decyzje projektowe, przypadki bezpieczeństwa i zgłoszenia regulacyjne. Tradycyjne implementacje FMI często opierają się na arytmetyce zmiennoprzecinkowej IEEE 754, więc różnice platform należy sprawdzić.
Dweve FMI implementuje standard FMI dla Model Exchange, Co-Simulation i Scheduled Execution, zbudowany w Rust z deterministyczną arytmetyką stałoprzecinkową. Obliczenia wartości rzeczywistych podążają skonfigurowaną ścieżką stałoprzecinkową. Wyniki można porównywać na CPU, GPU, FPGA, edge i rozproszonych celach, z MPFR używanym jako matematyczne odniesienie tam, gdzie ma to zastosowanie. Trzy profile stałoprzecinkowe obejmują cele inżynieryjne od urządzeń wbudowanych po przeszukiwanie parametrów GPU bez zmiany modelu symulacji.
Ten sam archiwum FMU można porównać na każdym backendzie. Jedna symulacja, jeden rekord walidacji.